الدالة filterNotNullTo()‎ في Kotlin

من موسوعة حسوب
< Kotlin‏ | collections
مراجعة 17:14، 22 يوليو 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
اذهب إلى التنقل اذهب إلى البحث

تشبه الدالة filterNotNullTo()‎ الدالة filterNotNull() في جميع النواحي باستثناء أنَّها تضيف الناتج الذي تعيده إلى المعامل المُمرَّر إليها. الجدير بالذكر أنّه ينبغي أن يكون ذلك المعامل المعطى مجموعةً قابلةً للتغيير (MutableCollection).

البنية العامة

fun <C : MutableCollection<in T>, T : Any> Array<out T?>.filterNotNullTo(
    destination: C
): C 
fun <C : MutableCollection<in T>, T : Any> Iterable<T?>.filterNotNullTo(
    destination: C
): C

القيم المٌعادة

تُعاد المجموعة المتغيرة (MutableCollection) الممرَّرة بعد إضافة جميع عناصر المصفوفة أو المجموعة المعطاة إليها باستثناء تلك ذات القيمة null.

أمثلة

تعرف الشيفرة الآتية قائمتين متغيرتين (mutableList) باسم list1 و list2 باستخدام الدالة ()mutableListOf، ثم تستخدم الدالة ()filterNotNullTo لاستبعاد العناصر ذات القيمة null من المصفوفة الأولى وإضافة الناتج إلى القائمة الثانية:

fun main(args: Array<String>) {
    val list1 = mutableListOf(1, 2, 3, null, 5, 1)
    val list2 = mutableListOf(0)

    list.filterNotNullTo(list2)

    println(list2)// [0, 1, 2, 3, 5, 1]
}

انظر أيضًا

  • الدالة filterNotNull()‎: تعيد جميع عناصر المصفوفة أو المجموعة المعطاة باستثناء تلك ذات القيمة null.
  • الدالة filterNot()‎: تعيد قائمةً تحوي عناصر المصفوفة أو المجموعة التي لا تحقق شرطًا منطقيًّا محدَّدًا. إن استدعيت مع خريطة (map)، فستعيد خريطة جديدة تحوي الأزواج التي لم تحقق ذلك الشرط المنطقي.
  • الدالة filterNotTo()‎: تشبه الدالة filterNot()‎ في جميع النواحي باستثناء أنَّها تضيف الناتج المعاد إلى المعامل الممرَّر إليها.
  • الدالة filter()‎: ترشِّح عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.
  • الدالة filterIndexedTo()‎: تضيف إلى المجموعة المتغيرة destination المُمرَّر إليها عناصر المصفوفة أو المجموعة المعطاة التي أعيدت القيمة true مع كل عنصر منها عند تطبيق الدالة predicate()‎ المُمرّر عليها. يمرَّر فهرس كل عنصر وقيمته إلى الدالة predicate()‎ ثم تعيد بدورها قيمة منطقيَّة.
  • الدالة filterIsInstanceTo()‎: تضيف عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن إلى المجموعة المتغيرة destinationالمُمرّرة إليها.

مصادر