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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

تعيد الدالةsortedByDescending()‎ لائحة تضم عناصر المصفوفة أو اللائحة المتغيرة (MutableList) التي استُدعيت عبرها مرتبة ترتيبًا تنازليًا وفقًا للقيم التي تعيدها الدالة المُمرّرة selector.

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

inline fun <T, R : Comparable<R>> Array<out T>.sortedByDescending(
    crossinline selector: (T) -> R?
): List<T> 
inline fun <R : Comparable<R>> ByteArray.sortedByDescending(
    crossinline selector: (Byte) -> R?
): List<Byte> 
inline fun <R : Comparable<R>> ShortArray.sortedByDescending(
    crossinline selector: (Short) -> R?
): List<Short> 
inline fun <R : Comparable<R>> IntArray.sortedByDescending(
    crossinline selector: (Int) -> R?
): List<Int> 
inline fun <R : Comparable<R>> LongArray.sortedByDescending(
    crossinline selector: (Long) -> R?
): List<Long> 
inline fun <R : Comparable<R>> FloatArray.sortedByDescending(
    crossinline selector: (Float) -> R?
): List<Float> 
inline fun <R : Comparable<R>> DoubleArray.sortedByDescending(
    crossinline selector: (Double) -> R?
): List<Double> 
inline fun <R : Comparable<R>> BooleanArray.sortedByDescending(
    crossinline selector: (Boolean) -> R?
): List<Boolean>
inline fun <R : Comparable<R>> CharArray.sortedByDescending(
    crossinline selector: (Char) -> R?
): List<Char> 
inline fun <T, R : Comparable<R>> Iterable<T>.sortedByDescending(
    crossinline selector: (T) -> R?
): List<T>

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

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

لائحة تضم عناصر المصفوفة أو اللائحة المتغيرة (MutableList) التي استُدعيت عبرها مرتبة ترتيبًا تنازليًا وفقًا للقيم التي تعيدها الدالة المُمرّرة selector.

أمثلة

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

تعرف الشيفرة الآتية  مصفوفة باسم array مكونة من ستة عناصر باستخدام الدالة ()arrayOf‎، ثم تستخدم الدالة()sortedByDescending  على array لترتيبه تنازليًا وفق القيم التي تعيدها الدالة المٌمرّرة، ثم تطبع الناتج:

fun main(args: Array<String>) {
val array = arrayOf(1, 9, -3, 7, 5, 6)
    
print (array.sortedByDescending {it*it}) // [9, 7, 6, 5, -3, 1]
}

أنظر أيضًا

  • sort()‎ : تقوم بترتيب المصفوفة أو اللائحة المتغيرة (MutableList) التي استُدعيت عبرها.
  • sorted()‎ : تعيد لائحة تضم عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت عبرها مرتبة وفق الترتيب الطبيعي.
  • sortedBy()‎ : تعيد لائحة تضم عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت عبرها مرتبة ترتيبًا طبيعيًا وفقًا للقيم التي تعيدها الدالة المُمرّرة selector

مصادر