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

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة وتدقيق.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>sortBy()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>sortBy()‎</code> في Kotlin}}</noinclude>
تقوم الدالة<code>sortBy()‎</code> بترتيب  [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|اللائحة المتغيرة]] (<code>MutableList</code>) التي استُدعيت عبرها وفقًا للقيم التي تعيدها الدالة المُمرّرة <code>selector</code>.  
ترتِّب الدالة <code>sortBy()‎</code> عناصر [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] (MutableList) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر.  
 
==البنية العامة==
==البنية العامة==
يمكن استدعاء الدالة  <code>sortBy()‎</code> عبر  [[Kotlin/Array|المصفوفات]]: <nowiki/><nowiki/><syntaxhighlight lang="kotlin">
يمكن استدعاء الدالة <code>sortBy()‎</code> مع [[Kotlin/Array|المصفوفات]] [[kotlin/MutableList|والقوائم المتغيرة]]:<syntaxhighlight lang="kotlin">
inline fun <T, R : Comparable<R>> Array<out T>.sortBy(
inline fun <T, R : Comparable<R>> Array<out T>.sortBy(
     crossinline selector: (T) -> R?)
     crossinline selector: (T) -> R?)
</syntaxhighlight><nowiki/><nowiki/>يمكن استدعاء الدالة  <code>sortBy()‎</code> عبر  كائن من النوع <code>[[kotlin/MutableList|MutableList]]</code>:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
 
inline fun <T, R : Comparable<R>> MutableList<T>.sortBy(
inline fun <T, R : Comparable<R>> MutableList<T>.sortBy(
     crossinline selector: (T) -> R?)
     crossinline selector: (T) -> R?)
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].  
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()sortBy</code> مع المصفوفات===
استعمال الدالة <code>()sortBy</code> لترتيب عناصر مصفوفة بحسب مربَّع كل عنصر:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] <nowiki/>باسم <code>array</code> مكونة من ستة عناصر باستخدام الدالة <code>()arrayOf‎</code>، ثم تستخدم الدالة<code>()sortBy</code>  على <code>array</code> لترتيبه مع تمرير دالة كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
import java.util.Arrays
import java.util.Arrays


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)
      
 
array.sortBy({it*it})
     array.sortBy { it * it }
      
 
print (Arrays.toString(array)) // [1, -3, 5, 6, 7, -9]
     print(Arrays.toString(array)) // [1, -3, 5, 6, 7, -9]
}
}
</syntaxhighlight>
</syntaxhighlight>
==أنظر أيضًا==
==انظر أيضًا==
*<code>[[Kotlin/collections/sort|sort()]]</code>‎ : تقوم بترتيب  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/MutableList|اللائحة المتغيرة]] (<code>MutableList</code>) التي استُدعيت عبرها. 
*الدالة <code>[[Kotlin/collections/sort|sort()]]</code>‎ : ترتب [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] (MutableList) التي استُدعيت معها تصاعديًّا.
*الدالة <code>[[Kotlin/collections/sortDescending|sortDescending()‎]]</code>: ترتِّب [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] (MutableList) التي استُدعيت معها تنازليًّا. 
* الدالة <code>[[Kotlin/collections/sortByDescending|sortByDescending()‎]]</code>: ترتِّب عناصر [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] (MutableList) التي استُدعيت معها تنازليًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر.  
*الدالة <code>[[Kotlin/collections/sortWith|sortWith()‎]]</code>: ترتِّب جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] (MutableList) التي استُدعيت معها أو جزءًا محدَّدًا منها تنازليًا وفقًا للمُقارن المُمرّر إليها.  
==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sort-by.html الدالة  sortBy()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sort-by.html صفحة الدالة sortBy()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 18:47، 7 أغسطس 2018

ترتِّب الدالة 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)).

أمثلة

استعمال الدالة ()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]
}

انظر أيضًا

مصادر