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

من موسوعة حسوب
مراجعة 17:13، 22 يوليو 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)

تعيد الدالة filterNotNull()‎ جميع عناصر المصفوفة أو المجموعة المعطاة باستثناء تلك ذات القيمة null.

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

fun <T : Any> Array<out T?>.filterNotNull(): List<T> 
fun <T : Any> Iterable<T?>.filterNotNull(): List<T>

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

تُعاد قائمة تحوي جميع عناصر المصفوفة أو المجموعة المعطاة باستثناء تلك ذات القيمة null.

أمثلة

تعرف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()filterNotNull لاستبعاد العناصر ذات القيمة null:

fun main(args: Array<String>) {
    val array = arrayOf(1, 2, 3, null, 5, 6)
    println(array.filterNotNull()) // [1, 2, 3, 5, 6]
}

انظر أيضًا

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

مصادر