الدالة find()
في Kotlin
تبحث الدالة find()
على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد أول ظهور له.
البنية العامة
inline fun <T> Array<out T>.find(
predicate: (T) -> Boolean
): T?
inline fun ByteArray.find(
predicate: (Byte) -> Boolean
): Byte?
inline fun ShortArray.find(
predicate: (Short) -> Boolean
): Short?
inline fun IntArray.find(predicate: (Int) -> Boolean): Int? (source)
inline fun LongArray.find(
predicate: (Long) -> Boolean
): Long?
inline fun FloatArray.find(
predicate: (Float) -> Boolean
): Float?
inline fun DoubleArray.find(
predicate: (Double) -> Boolean
): Double?
inline fun BooleanArray.find(
predicate: (Boolean) -> Boolean
): Boolean?
inline fun CharArray.find(
predicate: (Char) -> Boolean
): Char?
inline fun <T> Iterable<T>.find(
predicate: (T) -> Boolean
): T?
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).
القيم المعادة
يعاد أول ظهور للعنصر المبحوث عنه ضمن عناصر المصفوفة أو المجموعة المعطاة والذي يحقق الشرط المنطقي predicate
المعطى أيضًا، أو القيمة null
إن لم يُعثر على أي عنصر يحقق ذلك الشرط.
أمثلة
استخدام الدالة ()find
مع المصفوفات: حالة العثور على عنصر
تعرِّف الشيفرة الآتية مصفوفة باسم array
باستخدام الدالة ()arrayOf
، ثم تُعرّف الدالة المنطقية ()predicate
التي تحدِّد ما إذا كان العدد المُمرّر إليها أصغر من 3 ، ثم تستخدم الدالة ()find
للبحث عن أول عنصر يحقق هذا الشرط:
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 0, 5, 1)
val predicate : (Int) -> Boolean = { it < 3 }
println(array.find(predicate)) // 2
}
استخدام الدالة ()find
مع المصفوفات: حالة عدم العثور على أي عنصر
تعرف الشيفرة الآتية مصفوفة باسم array
باستخدام الدالة ()arrayOf
، ثم تستخدم الدالة ()find
للبحث عن أول عنصر يساوي القيمة 6. ولمّا كانت كل عناصر array
لا تحقق هذا الشرط، فستُعاد القيمة null
:
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 2, 5, 1)
val predicate: (Int) -> Boolean = { it == 6 }
println(array.find(predicate)) // null
}
انظر أيضًا
- الدالة
findLast()
: تبحث على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد آخر ظهور له. - الدالة
firstOrNull()
: تجلب أول عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يُمرَّر إليها أي شيء، أو أول عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها. - الدالة
filter()
: ترشِّح عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.