الفرق بين المراجعتين ل"Kotlin/collections/sortWith"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>sortWith()‎</code> في لغة Kotlin}}</noinclude> تقوم الدالة<code>sortWith()‎</code> بترتيب Kotli...')
 
ط
 
(4 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 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|القائمة المتغيرة]] (MutableList) التي استُدعيت معها أو جزءًا محدَّدًا منها تنازليًا وفقًا للمُقارن المُمرّر إليها.
  
 
==البنية العامة==
 
==البنية العامة==
يمكن استدعاء الدالة  <code>sortWith()‎</code> عبر  [[Kotlin/Array|المصفوفات]]: <nowiki/><nowiki/><syntaxhighlight lang="kotlin">
+
إن استدعيت الدالة <code>sortWith()‎</code> مع تمرير مقارِن <code>comparator</code>، فسترتِّب جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] التي استُدعيت معها وفقًا للترتيب الذي يحدده هذا المقارن المعطى:<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">
+
fun <T> MutableList<T>.sortWith(comparator: Comparator<in T>)
inline fun <T, R : Comparable<R>> MutableList<T>.sortBy(
+
 
     crossinline selector: (T) -> R?)
+
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].  
+
</syntaxhighlight>أمَّا إن استدعيت الدالة مع تمرير مقارِن <code>comparator</code> والعددين <code>fromIndex</code> و <code>toIndex</code>، فسترتب المجال الذي يحدده هذين العددين من [[Kotlin/Array|المصفوفة]] التي استُدعيت معها وفقًا للترتيب الذي يحدده هذا المقارن المعطى.<syntaxhighlight lang="kotlin">
 +
fun <T> Array<out T>.sortWith(
 +
     comparator: Comparator<in T>,
 +
    fromIndex: Int = 0,
 +
    toIndex: Int = size)
 +
</syntaxhighlight>
 +
 
 +
== المعاملات ==
 +
 
 +
=== <code>comparator</code> ===
 +
[[Kotlin/Comparator|المقارن]] الذي سترتَّب العناصر وفقًا له.
 +
 
 +
=== <code>fromIndex</code> ===
 +
عدد صحيح يشير إلى فهرس العنصر الذي يمثل بداية المجال المراد ترتيبه.
 +
 
 +
=== <code>toIndex</code> ===
 +
عدد صحيح يشير إلى فهرس العنصر الذي يمثل نهاية المجال المراد ترتيبه (لا يدخل هذا العنصر ضمن المجال).
 +
 
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <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.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|القائمة المتغيرة]] (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) التي استُدعيت معها تنازليًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر.
 +
* الدالة <code>[[Kotlin/collections/sortedArrayWith|sortedArrayWith()‎]]</code>: ترتِّب جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت معها وفقًا للمُقارِن المُمرّر إليها ثمَّ تضع الناتج في مصفوفة جديدة.
 +
* الدالة <code>[[Kotlin/collections/sortedWith|sortedWith()‎]]</code>: ترتِّب جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو المجموعة التكرارية التي استُدعيت معها وفقًا للمُقارِن المُمرّر إليها ثمَّ تضع الناتج في قائمة.
  
 
==مصادر==
 
==مصادر==
*[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 Function]]
 +
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 11:11، 8 سبتمبر 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)

المعاملات

comparator

المقارن الذي سترتَّب العناصر وفقًا له.

fromIndex

عدد صحيح يشير إلى فهرس العنصر الذي يمثل بداية المجال المراد ترتيبه.

toIndex

عدد صحيح يشير إلى فهرس العنصر الذي يمثل نهاية المجال المراد ترتيبه (لا يدخل هذا العنصر ضمن المجال).

أمثلة

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

انظر أيضًا

مصادر