الدالة sortedByDescending() في لغة Kotlin
< Kotlin | collections
تعيد الدالة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]
}
أنظر أيضًا
sortBy() : تقوم بترتيب المصفوفة أو اللائحة المتغيرة (MutableList) التي استُدعيت عبرها وفقًا للقيم التي تعيدها الدالة المُمرّرة .
sort() : تقوم بترتيب المصفوفة أو اللائحة المتغيرة (MutableList) التي استُدعيت عبرها.sorted() : تعيد لائحة تضم عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت عبرها مرتبة وفق الترتيب الطبيعي.
sortedBy() : تعيد لائحة تضم عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت عبرها مرتبة ترتيبًا طبيعيًا وفقًا للقيم التي تعيدها الدالة المُمرّرةselector.