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

من موسوعة حسوب

تعيد الدالة 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) من نوع أو صنفٍ معيّن.
  • الدالة mapNotNull()‎: تعيد قائمةً تحوي ناتج تطبيق الدالة المُمرّرة إليها على كل عنصر من عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها باستثناء القيم العدميَّة nullالتي تعيدها تلك الدالة.

مصادر