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

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

ترتِّب الدالة sortBy()‎ عناصر المصفوفة أو القائمة المتغيرة (MutableList) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر.

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

يمكن استدعاء الدالة sortBy()‎ مع المصفوفات والقوائم المتغيرة:

inline fun <T, R : Comparable<R>> Array<out T>.sortBy(
    crossinline selector: (T) -> R?)

inline fun <T, R : Comparable<R>> MutableList<T>.sortBy(
    crossinline selector: (T) -> R?)

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

المعاملات

selector

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

أمثلة

استعمال الدالة ()sortBy لترتيب عناصر مصفوفة بحسب مربَّع كل عنصر:

import java.util.Arrays

fun main(args: Array<String>) {
    val array = arrayOf(1, -9, -3, 7, 5, 6)

    array.sortBy { it * it }

    print(Arrays.toString(array)) // [1, -3, 5, 6, 7, -9]
}

انظر أيضًا

مصادر