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

من موسوعة حسوب
< Kotlin‏ | collections
مراجعة 08:05، 8 سبتمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

تبحث الدالة findLast()‎ على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد آخر ظهور له.

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

inline fun <T> Array<out T>.findLast(
    predicate: (T) -> Boolean
): T? 
inline fun ByteArray.findLast(
    predicate: (Byte) -> Boolean
): Byte? 
inline fun ShortArray.findLast(
    predicate: (Short) -> Boolean
): Short? 
inline fun IntArray.findLast(
    predicate: (Int) -> Boolean
): Int? 
inline fun LongArray.findLast(
    predicate: (Long) -> Boolean
): Long? 
inline fun FloatArray.findLast(
    predicate: (Float) -> Boolean
): Float? 
inline fun DoubleArray.findLast(
    predicate: (Double) -> Boolean
): Double? 
inline fun BooleanArray.findLast(
    predicate: (Boolean) -> Boolean
): Boolean? 
inline fun CharArray.findLast(
    predicate: (Char) -> Boolean
): Char? 
inline fun <T> Iterable<T>.findLast(
    predicate: (T) -> Boolean
): T? 
inline fun <T> List<T>.findLast(
    predicate: (T) -> Boolean
): T?

وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).

المعاملات

predicate

دالةٌ تمثل الشرط المراد تطبيقه على كل عنصر من عناصر المصفوفة أو المجموعة المعطاة. يمرر إلى هذه الدالة قيمة العنصر وتعيد قيمةً منطقيةً.

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

يعاد آخر ظهور للعنصر المبحوث عنه ضمن عناصر المصفوفة أو المجموعة المعطاة والذي يحقق الشرط المنطقي predicate المعطى أيضًا، أو القيمة null إن لم يُعثر على أي عنصر يحقق ذلك الشرط.

أمثلة

استعمال الدالة ()findLast للبحث عن آخر عنصر يحقق شرطًا معينًا:

fun main(args: Array<String>) {
    val array = arrayOf(9, 2, 3, 0, 5, 1)
    val predicate1: (Int) -> Boolean = { it < 3 }
    val predicate2: (Int) -> Boolean = { it == 6 }

    println(array.findLast(predicate1)) // 1
    println(array.findLast(predicate2)) // null
}

انظر أيضًا

  • الدالة find()‎: تبحث على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد أول ظهور له.
  • الدالة first()‎: تجلب أول عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول عنصر يحق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها. 
  • الدالة filter()‎: ترشِّح عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.

مصادر