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

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


==البنية العامة==
==البنية العامة==
يمكن استدعاء الدالة  <code>sortWith()‎</code> عبر  [[Kotlin/Array|المصفوفات]]: <nowiki/><nowiki/><syntaxhighlight lang="kotlin">
في حال استدعاء الدالة  <code>sortWith()‎</code> عبر  [[Kotlin/Array|المصفوفات]] مع تمرير مقارِن <code>comparator</code> فستقوم بترتيب  [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها وفقًا للترتيب المحدد من قبل المقارِن المُمرّر <code>comparator</code>:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
inline fun <T, R : Comparable<R>> Array<out T>.sortBy(
fun <T> Array<out T>.sortWith(comparator: Comparator<in T>)  
    crossinline selector: (T) -> R?)
 
</syntaxhighlight><nowiki/><nowiki/>يمكن استدعاء الدالة  <code>sortWith()‎</code> عبر  كائن من النوع <code>[[kotlin/MutableList|MutableList]]</code>:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
</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">
inline fun <T, R : Comparable<R>> MutableList<T>.sortBy(
fun <T> Array<out T>.sortWith(
     crossinline selector: (T) -> R?)
     comparator: Comparator<in T>,
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].  
    fromIndex: Int = 0,
    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>
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()sortWith</code> مع المصفوفات===
===استخدام الدالة <code>()sortWith</code> مع المصفوفات===
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] <nowiki/>باسم <code>array</code> مكونة من ستة عناصر باستخدام الدالة <code>()arrayOf‎</code>، ثم تستخدم الدالة<code>()sortWith</code>  على <code>array</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


سطر 18: سطر 25:
val array = arrayOf(1, -9, -3, 7, 5, 6)
val array = arrayOf(1, -9, -3, 7, 5, 6)
      
      
array.sortByDescending {it*it}
array.sortWith (Comparator { a, b -> b - a })
      
      
print (Arrays.toString(array)) // [-9, 7, 6, 5, -3, 1]
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|اللائحة المتغيرة]] (<code>MutableList</code>) التي استُدعيت عبرها. 


سطر 29: سطر 36:


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

مراجعة 18:08، 6 يونيو 2018

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

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

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

في حال استدعاء الدالة  sortWith()‎ عبر المصفوفات مع تمرير مقارِن comparator فستقوم بترتيب المصفوفة التي استُدعيت عبرها وفقًا للترتيب المحدد من قبل المقارِن المُمرّر comparator:

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

في حال استدعاء الدالة  sortWith()‎ عبر المصفوفات مع تمرير مقارِن comparator وعددين fromIndex و toIndex فستقوم بترتيب مجال من المصفوفة التي استُدعيت عبرها والمحدد بواسطة الفهرسين fromIndex و toIndex وفقًا للترتيب المحدد من قبل المقارِن المُمرّر comparator.

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

في حال استدعاء الدالة  sortWith()‎ عبر كائن من النوع MutableList مع تمرير مقارِن comparator فستقوم بترتيب ذلك الكائن الذي استُدعيت عبره وفقًا للترتيب المحدد من قبل المقارِن المُمرّر comparator.

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

أمثلة

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

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

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]
}

أنظر أيضًا

  • sortBy()‎ : تقوم بترتيب المصفوفة أو اللائحة المتغيرة (MutableList) التي استُدعيت عبرها وفقًا للقيم التي تعيدها الدالة المُمرّرة . 

مصادر