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

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

تعيد الدالةfilterNotNull()‎ لائحة تحتوي عناصر المصفوفة أو المجموعة غير المعدومة، أي التي تخالف قيمتها null.

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

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

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

لائحة تحتوي عناصر المصفوفة أو المجموعة غير المعدومة، أي التي تخالف قيمتها null.

أمثلة

استخدام الدالة ()filterNotNull مع المصفوفات

تعرف الشيفرة الآتية مصفوفة باسم arrayمكونة من ستة عناصر باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()filterNotNull لتصفية عناصر المصفوفة array وانشاء لائحة جديدة تضم عناصر المصفوفة array التي تخالف null، ثم تطبع الناتج:

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

انظر أيضًا

  • filterNot()‎: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي لا تحقق الشرط المنطقي predicate()‎ المُمرّر إلى الدالة. وفي حال استدعائها عبر قاموس فستعيد قاموسًا جديدًا مكونًا من كل الأزوج التي لا تحقق الشرط المنطقي predicate()‎ الممرر إلى الدالة.
  • filterIndexed()‎: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي تحقق الشرط المنطقي predicate()‎ المُمرّر إلى الدالة والتي تأخذ قيمة وفهرس عناصر المصفوفة أو المجموعة كوسيطين.
  • filter()‎: تعيد  لائحة تحتوي عناصر المصفوفة أو المجموعة التي تحقق الشرط المنطقي predicate()‎ المُمرّر إلى الدالة. وفي حال استدعائها عبرقاموس فستعيد قاموسًا جديدًا مكونًا من كل الأزوج التي تحقق الشرط المنطقي predicate()‎ الممرر إلى الدالة.
  • filterIsInstance()‎: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي استُدعيت عبرها والتي هي نسخة (instance) من نوع (type) أوصنفٍ معيّن.
  • filterIndexedTo()‎: تضيف  إلى المعامل destination الممرّر إليها عناصرّ المجموعة المتغيرة (MutableCollection) التي استُدعيت عبرها والتي تحقق الشرط المنطقي predicate()‎ المُمرّر إلى الدالة.

مصادر