Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

عوامل التسلسلات

جزء من قسم الأساسيات في رحلة Kotlin على Coddy. الدرس 81 من 93.

توفر Kotlin معامل + لدمج القوائم، مما يجعل من السهل دمج المجموعات معًا. يعمل هذا بطريقة مشابهة لضم السلاسل النصية.

لضم قائمتين في قائمة واحدة، ما عليك سوى استخدام العامل +:

val first = listOf(1, 2, 3)
val second = listOf(4, 5, 6)
val combined = first + second
println(combined)  // [1, 2, 3, 4, 5, 6]

يمكنك أيضًا إضافة عنصر واحد إلى قائمة باستخدام العامل نفسه:

val colors = listOf("Red", "Green")
val moreColors = colors + "Blue"
println(moreColors)  // [Red, Green, Blue]

يزيل العامل - العناصر من قائمة. وينشئ قائمة جديدة من دون العنصر المحدد:

val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - 2
println(result)  // [1, 3, 2, 4]

لاحظ أن التكرار الأول للعنصر فقط هو الذي تتم إزالته. لإزالة جميع العناصر المطابقة، ستطرح قائمةً بدلاً من ذلك:

val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - listOf(2)
println(result)  // [1, 3, 4]

تُرجع هذه العوامل دائمًا قائمة جديدة: تظل القوائم الأصلية دون تغيير. وهذا يجعل استخدامها آمنًا دون القلق بشأن تعديل بياناتك عن طريق الخطأ.

challenge icon

التحدي

متوسط

ستتلقى قائمتين من الأعداد الصحيحة وعددًا صحيحًا واحدًا لإزالته. ادمج القائمتين باستخدام العامل +، ثم أزل جميع تكرارات العدد الصحيح المحدد باستخدام العامل - مع قائمة.

اطبع القائمة الناتجة.

تنسيق الإدخال:

  • السطر الأول: عدد صحيح n يمثل عدد العناصر في القائمة الأولى
  • الأسطر n التالية: أعداد صحيحة للقائمة الأولى
  • السطر التالي: عدد صحيح m يمثل عدد العناصر في القائمة الثانية
  • الأسطر m التالية: أعداد صحيحة للقائمة الثانية
  • السطر الأخير: العدد الصحيح المراد إزالته من القائمة المدمجة

تنسيق الإخراج:

اطبع القائمة الناتجة بالتنسيق الافتراضي للقوائم في Kotlin.

مثال:

إذا كانت القائمة الأولى هي [1, 2, 3]، والقائمة الثانية هي [2, 4, 2]، والعدد المراد إزالته هو 2، فستكون القائمة المدمجة [1, 2, 3, 2, 4, 2]. بعد إزالة جميع تكرارات 2، يجب أن يكون الناتج:

[1, 3, 4]

جرّب بنفسك

fun main() {
    // اقرأ القائمة الأولى
    val n = readLine()!!.toInt()
    val list1 = mutableListOf<Int>()
    repeat(n) {
        list1.add(readLine()!!.toInt())
    }
    
    // اقرأ القائمة الثانية
    val m = readLine()!!.toInt()
    val list2 = mutableListOf<Int>()
    repeat(m) {
        list2.add(readLine()!!.toInt())
    }
    
    // اقرأ العدد الصحيح المراد إزالته
    val toRemove = readLine()!!.toInt()
    
    // TODO: اكتب الكود الخاص بك هنا
    // ادمج القائمتين باستخدام عامل +
    // أزل جميع تكرارات toRemove باستخدام عامل - مع قائمة
    
    // اطبع القائمة الناتجة
    println(result)
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: Playground لـ Kotlin