الفرق بين المراجعتين لصفحة: «Kotlin/collections/sortedByDescending»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>sortedByDescending()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>sortedByDescending()‎</code> [...'
 
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>sortedByDescending()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>sortedByDescending()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة<code>sortedByDescending()‎</code> [[Kotlin/List|لائحة]] تضم عناصر [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[kotlin/MutableList|اللائحة المتغيرة]] (<code>MutableList</code>) التي استُدعيت عبرها مرتبة وفقًا للقيم التي تعيدها الدالة المُمرّرة <code>selector</code>.  
تعيد الدالة<code>sortedByDescending()‎</code> [[Kotlin/List|لائحة]] تضم عناصر [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[kotlin/MutableList|اللائحة المتغيرة]] (<code>MutableList</code>) التي استُدعيت عبرها مرتبة ترتيبًا تنازليًا وفقًا للقيم التي تعيدها الدالة المُمرّرة <code>selector</code>.  


==البنية العامة==
==البنية العامة==
<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
inline fun <T, R : Comparable<R>> Array<out T>.sortedBy(
inline fun <T, R : Comparable<R>> Array<out T>.sortedByDescending(
     crossinline selector: (T) -> R?
     crossinline selector: (T) -> R?
): List<T>  
): List<T>  
inline fun <R : Comparable<R>> ByteArray.sortedBy(
inline fun <R : Comparable<R>> ByteArray.sortedByDescending(
     crossinline selector: (Byte) -> R?
     crossinline selector: (Byte) -> R?
): List<Byte>  
): List<Byte>  
inline fun <R : Comparable<R>> ShortArray.sortedBy(
inline fun <R : Comparable<R>> ShortArray.sortedByDescending(
     crossinline selector: (Short) -> R?
     crossinline selector: (Short) -> R?
): List<Short>  
): List<Short>  
inline fun <R : Comparable<R>> IntArray.sortedBy(
inline fun <R : Comparable<R>> IntArray.sortedByDescending(
     crossinline selector: (Int) -> R?
     crossinline selector: (Int) -> R?
): List<Int>  
): List<Int>  
inline fun <R : Comparable<R>> LongArray.sortedBy(
inline fun <R : Comparable<R>> LongArray.sortedByDescending(
     crossinline selector: (Long) -> R?
     crossinline selector: (Long) -> R?
): List<Long>  
): List<Long>  
inline fun <R : Comparable<R>> FloatArray.sortedBy(
inline fun <R : Comparable<R>> FloatArray.sortedByDescending(
     crossinline selector: (Float) -> R?
     crossinline selector: (Float) -> R?
): List<Float>  
): List<Float>  
inline fun <R : Comparable<R>> DoubleArray.sortedBy(
inline fun <R : Comparable<R>> DoubleArray.sortedByDescending(
     crossinline selector: (Double) -> R?
     crossinline selector: (Double) -> R?
): List<Double>  
): List<Double>  
inline fun <R : Comparable<R>> BooleanArray.sortedBy(
inline fun <R : Comparable<R>> BooleanArray.sortedByDescending(
     crossinline selector: (Boolean) -> R?
     crossinline selector: (Boolean) -> R?
): List<Boolean>
): List<Boolean>
inline fun <R : Comparable<R>> CharArray.sortedBy(
inline fun <R : Comparable<R>> CharArray.sortedByDescending(
     crossinline selector: (Char) -> R?
     crossinline selector: (Char) -> R?
): List<Char>  
): List<Char>  
inline fun <T, R : Comparable<R>> Iterable<T>.sortedBy(
inline fun <T, R : Comparable<R>> Iterable<T>.sortedByDescending(
     crossinline selector: (T) -> R?
     crossinline selector: (T) -> R?
): List<T>  
): List<T>  


</syntaxhighlight>
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].


== القيمة المُعادة ==
== القيمة المُعادة ==
[[Kotlin/List|لائحة]] تضم عناصر [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[kotlin/MutableList|اللائحة المتغيرة]] (<code>MutableList</code>) التي استُدعيت عبرها مرتبة وفقًا للقيم التي تعيدها الدالة المُمرّرة <code>selector</code>.
[[Kotlin/List|لائحة]] تضم عناصر [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[kotlin/MutableList|اللائحة المتغيرة]] (<code>MutableList</code>) التي استُدعيت عبرها مرتبة ترتيبًا تنازليًا وفقًا للقيم التي تعيدها الدالة المُمرّرة <code>selector</code>.


==أمثلة==
==أمثلة==
===استخدام الدالة <code>()sortedByDescending</code> مع المصفوفات===
===استخدام الدالة <code>()sortedByDescending</code> مع المصفوفات===
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] <nowiki/>باسم <code>array</code> مكونة من ستة عناصر باستخدام الدالة <code>()arrayOf‎</code>، ثم تستخدم الدالة<code>()sortedByDescending</code>  على <code>array</code> لترتيبه وفق القيم التي تعيدها الدالة المٌمرّرة، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] <nowiki/>باسم <code>array</code> مكونة من ستة عناصر باستخدام الدالة <code>()arrayOf‎</code>، ثم تستخدم الدالة<code>()sortedByDescending</code>  على <code>array</code> لترتيبه تنازليًا وفق القيم التي تعيدها الدالة المٌمرّرة، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val array = arrayOf(1, 9, -3, 7, 5, 6)
val array = arrayOf(1, 9, -3, 7, 5, 6)
      
      
print (array.sortedBy {it*it}) // [1, -3, 5, 6, 7, 9]
print (array.sortedByDescending {it*it}) // [9, 7, 6, 5, -3, 1]
}
}
</syntaxhighlight>
</syntaxhighlight>
سطر 54: سطر 54:
* <code>[[Kotlin/collections/sort|sort()]]</code>‎ : تقوم بترتيب <nowiki/>[[Kotlin/Array|المصفوفة]] أو اللائحة المتغيرة (<code>MutableList</code>) التي استُدعيت عبرها.
* <code>[[Kotlin/collections/sort|sort()]]</code>‎ : تقوم بترتيب <nowiki/>[[Kotlin/Array|المصفوفة]] أو اللائحة المتغيرة (<code>MutableList</code>) التي استُدعيت عبرها.
* <code>[[Kotlin/collections/sorted|sorted()]]</code>‎ : تعيد لائحة تضم عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو المجموعة التكرارية التي استُدعيت عبرها مرتبة وفق الترتيب الطبيعي.
* <code>[[Kotlin/collections/sorted|sorted()]]</code>‎ : تعيد لائحة تضم عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو المجموعة التكرارية التي استُدعيت عبرها مرتبة وفق الترتيب الطبيعي.
* <code>[[Kotlin/collections/sortedBy|sortedBy()]]</code>‎ : تعيد لائحة تضم عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو المجموعة التكرارية التي استُدعيت عبرها مرتبة ترتيبًا طبيعيًا وفقًا للقيم التي تعيدها الدالة المُمرّرة <code>selector</code>. 


==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sorted-by.html الدالة  sortedByDescending()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sorted-by-descending.html الدالة  sortedByDescending()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 19:03، 6 يونيو 2018

تعيد الدالة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

مصادر