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

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة وتدقيق.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>sortWith()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>sortWith()‎</code> في Kotlin}}</noinclude>
تقوم الدالة<code>sortWith()‎</code> بترتيب  [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|اللائحة المتغيرة]] (<code>MutableList</code>) التي استُدعيت عبرها تنازليًا وفقًا للمُقارن المُمرّر <code>comparator</code>.   
ترتِّب الدالة <code>sortWith()‎</code> جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] (MutableList) التي استُدعيت معها أو جزءًا محدَّدًا منها تنازليًا وفقًا للمُقارن المُمرّر إليها.   
 
في حال تمرير عددين <code>fromIndex</code> و <code>toIndex</code>  فستقوم بترتيب مجال من  [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها والمحدد بواسطة الفهرسين <code>fromIndex</code> و <code>toIndex</code> وفقًا للترتيب المحدد من قبل المقارِن المُمرّر <code>comparator</code>.


==البنية العامة==
==البنية العامة==
في حال استدعاء الدالة  <code>sortWith()‎</code> عبر  [[Kotlin/Array|المصفوفات]] مع تمرير مقارِن <code>comparator</code> فستقوم بترتيب  [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها وفقًا للترتيب المحدد من قبل المقارِن المُمرّر <code>comparator</code>:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
إن استدعيت الدالة <code>sortWith()‎</code> مع تمرير مقارِن <code>comparator</code>، فسترتِّب جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] التي استُدعيت معها وفقًا للترتيب الذي يحدده هذا المقارن المعطى:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
fun <T> Array<out T>.sortWith(comparator: Comparator<in T>)  
fun <T> Array<out T>.sortWith(comparator: Comparator<in T>)  


</syntaxhighlight>في حال استدعاء الدالة  <code>sortWith()</code> عبر  [[Kotlin/Array|المصفوفات]] مع تمرير مقارِن <code>comparator</code> وعددين <code>fromIndex</code> و <code>toIndex</code> فستقوم بترتيب مجال من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها والمحدد بواسطة الفهرسين <code>fromIndex</code> و <code>toIndex</code> وفقًا للترتيب المحدد من قبل المقارِن المُمرّر <code>comparator</code>.<syntaxhighlight lang="kotlin">
fun <T> MutableList<T>.sortWith(comparator: Comparator<in T>)  
 
 
</syntaxhighlight>أمَّا إن استدعيت الدالة مع تمرير مقارِن <code>comparator</code> والعددين <code>fromIndex</code> و <code>toIndex</code>، فسترتب المجال الذي يحدده هذين العددين من [[Kotlin/Array|المصفوفة]] التي استُدعيت معها وفقًا للترتيب الذي يحدده هذا المقارن المعطى.<syntaxhighlight lang="kotlin">
fun <T> Array<out T>.sortWith(
fun <T> Array<out T>.sortWith(
     comparator: Comparator<in T>,  
     comparator: Comparator<in T>,  
     fromIndex: Int = 0,  
     fromIndex: Int = 0,  
     toIndex: Int = size)
     toIndex: Int = size)
</syntaxhighlight>في حال استدعاء الدالة  <code>sortWith()‎</code> عبر  كائن من النوع <code>[[kotlin/MutableList|MutableList]]</code> مع تمرير مقارِن <code>comparator</code> فستقوم بترتيب  ذلك الكائن الذي استُدعيت عبره وفقًا للترتيب المحدد من قبل المقارِن المُمرّر <code>comparator</code>.<syntaxhighlight lang="kotlin">
fun <T> MutableList<T>.sortWith(comparator: Comparator<in T>)
</syntaxhighlight>
</syntaxhighlight>
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()sortWith</code> مع المصفوفات===
<nowiki/><nowiki/>استعمال الدالة <code>()sortWith</code> لترتيب عناصر مصفوفة وفقًا لناتج طرح قيمة العنصر اللاحق من قيمة العنصر السابق:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] <nowiki/>باسم <code>array</code> مكونة من ستة عناصر باستخدام الدالة <code>()arrayOf‎</code>، ثم تستخدم الدالة<code>()sortWith</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.sortWith (Comparator { a, b -> b - a })
     array.sortWith(Comparator { a, b -> b - a })
      
 
print (Arrays.toString(array)) // [7, 6, 5, 1, -3, -9]
     print(Arrays.toString(array)) // [7, 6, 5, 1, -3, -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/sortBy|sortBy()]]</code>‎ : تقوم بترتيب <nowiki/>[[Kotlin/Array|المصفوفة]] أو اللائحة المتغيرة (<code>MutableList</code>) التي استُدعيت عبرها وفقًا للقيم التي تعيدها الدالة المُمرّرة . 
*الدالة <code>[[Kotlin/collections/sortBy|sortBy()]]</code>‎ : ترتب عناصر [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] (MutableList) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر. 
*  الدالة <code>[[Kotlin/collections/sortByDescending|sortByDescending()‎]]</code>: ترتِّب عناصر [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] (MutableList) التي استُدعيت معها تنازليًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر.  


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

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

ترتِّب الدالة sortWith()‎ جميع عناصر المصفوفة أو القائمة المتغيرة (MutableList) التي استُدعيت معها أو جزءًا محدَّدًا منها تنازليًا وفقًا للمُقارن المُمرّر إليها.

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

إن استدعيت الدالة sortWith()‎ مع تمرير مقارِن comparator، فسترتِّب جميع عناصر المصفوفة أو القائمة المتغيرة التي استُدعيت معها وفقًا للترتيب الذي يحدده هذا المقارن المعطى:

fun <T> Array<out T>.sortWith(comparator: Comparator<in T>) 

fun <T> MutableList<T>.sortWith(comparator: Comparator<in T>)

أمَّا إن استدعيت الدالة مع تمرير مقارِن comparator والعددين fromIndex و toIndex، فسترتب المجال الذي يحدده هذين العددين من المصفوفة التي استُدعيت معها وفقًا للترتيب الذي يحدده هذا المقارن المعطى.

fun <T> Array<out T>.sortWith(
    comparator: Comparator<in T>, 
    fromIndex: Int = 0, 
    toIndex: Int = size)

أمثلة

استعمال الدالة ()sortWith لترتيب عناصر مصفوفة وفقًا لناتج طرح قيمة العنصر اللاحق من قيمة العنصر السابق:

import java.util.Arrays

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

    array.sortWith(Comparator { a, b -> b - a })

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

انظر أيضًا

مصادر