الفرق بين المراجعتين ل"Kotlin/collections/sort"
< Kotlin | collections
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق.) |
|||
سطر 1: | سطر 1: | ||
− | <noinclude>{{DISPLAYTITLE: الدالة <code>sort()</code> في | + | <noinclude>{{DISPLAYTITLE: الدالة <code>sort()</code> في Kotlin}}</noinclude> |
− | + | ترتِّب الدالة <code>sort()</code> [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] (MutableList) التي استُدعيت معها تصاعديًّا. | |
− | |||
==البنية العامة== | ==البنية العامة== | ||
− | + | إن لم يمرَّر أي وسيط إلى الدالة <code>sort()</code>، فسترتِّب جميع عناصر المصفوفة أو [[kotlin/MutableList|القائمة المتغيرة]] التي استدعيت معها:<syntaxhighlight lang="kotlin"> | |
fun IntArray.sort() | fun IntArray.sort() | ||
fun LongArray.sort() | fun LongArray.sort() | ||
سطر 13: | سطر 12: | ||
inline fun <T : Comparable<T>> Array<out T>.sort() (source) | inline fun <T : Comparable<T>> Array<out T>.sort() (source) | ||
− | </syntaxhighlight> | + | fun <T : Comparable<T>> MutableList<T>.sort() |
+ | |||
+ | </syntaxhighlight>أمَّا إن استدعيت الدالة <code>sort()</code> مع تمرير وسيطين عددين، فسترتِّب المجال الذي يحدده هذين الوسيطين داخل [[Kotlin/Array|المصفوفة]] التي استدعيت معها ('''بيئة التشغيل''': JVM):<syntaxhighlight lang="kotlin"> | ||
fun <T> Array<out T>.sort( | fun <T> Array<out T>.sort( | ||
fromIndex: Int = 0, | fromIndex: Int = 0, | ||
سطر 25: | سطر 26: | ||
fun CharArray.sort(fromIndex: Int = 0, toIndex: Int = size) | fun CharArray.sort(fromIndex: Int = 0, toIndex: Int = size) | ||
− | </syntaxhighlight> | + | </syntaxhighlight>إن استدعيت الدالة <code>sort()</code> مع تمرير مًقارن <code>comparison</code> كمعامل إليها، فسترتِّب [[Kotlin/Array|المصفوفة]] التي استدعيت معها بحسب الترتيب الذي يحدده هذا المقارن <code>comparison</code>:<syntaxhighlight lang="kotlin"> |
− | |||
− | |||
− | |||
− | |||
− | |||
inline fun <T> Array<out T>.sort( | inline fun <T> Array<out T>.sort( | ||
noinline comparison: (a: T, b: T) -> Int) | noinline comparison: (a: T, b: T) -> Int) | ||
سطر 48: | سطر 44: | ||
noinline comparison: (a: Char, b: Char) -> Int) | noinline comparison: (a: Char, b: Char) -> Int) | ||
− | </syntaxhighlight> | + | </syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]). |
− | |||
==أمثلة== | ==أمثلة== | ||
− | + | استعمال الدالة <code>()sort</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.sort() | ||
− | + | 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/sortBy|sortBy()]]</code> | + | *الدالة <code>[[Kotlin/collections/sortDescending|sortDescending()]]</code>: ترتِّب [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] (MutableList) التي استُدعيت معها تنازليًّا. |
+ | *الدالة <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/sortWith|sortWith()]]</code>: ترتِّب جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[kotlin/MutableList|القائمة المتغيرة]] (MutableList) التي استُدعيت معها أو جزءًا محدَّدًا منها تنازليًا وفقًا للمُقارن المُمرّر إليها. | ||
==مصادر== | ==مصادر== | ||
− | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sort.html الدالة | + | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sort.html صفحة الدالة sort() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] |
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 18:46، 7 أغسطس 2018
ترتِّب الدالة sort()
المصفوفة أو القائمة المتغيرة (MutableList) التي استُدعيت معها تصاعديًّا.
البنية العامة
إن لم يمرَّر أي وسيط إلى الدالة sort()
، فسترتِّب جميع عناصر المصفوفة أو القائمة المتغيرة التي استدعيت معها:
fun IntArray.sort()
fun LongArray.sort()
fun ByteArray.sort()
fun ShortArray.sort()
fun DoubleArray.sort()
fun FloatArray.sort()
fun CharArray.sort()
inline fun <T : Comparable<T>> Array<out T>.sort() (source)
fun <T : Comparable<T>> MutableList<T>.sort()
أمَّا إن استدعيت الدالة sort()
مع تمرير وسيطين عددين، فسترتِّب المجال الذي يحدده هذين الوسيطين داخل المصفوفة التي استدعيت معها (بيئة التشغيل: JVM):
fun <T> Array<out T>.sort(
fromIndex: Int = 0,
toIndex: Int = size)
fun ByteArray.sort(fromIndex: Int = 0, toIndex: Int = size)
fun ShortArray.sort(fromIndex: Int = 0, toIndex: Int = size)
fun IntArray.sort(fromIndex: Int = 0, toIndex: Int = size)
fun LongArray.sort(fromIndex: Int = 0, toIndex: Int = size)
fun FloatArray.sort(fromIndex: Int = 0, toIndex: Int = size)
fun DoubleArray.sort(fromIndex: Int = 0, toIndex: Int = size)
fun CharArray.sort(fromIndex: Int = 0, toIndex: Int = size)
إن استدعيت الدالة sort()
مع تمرير مًقارن comparison
كمعامل إليها، فسترتِّب المصفوفة التي استدعيت معها بحسب الترتيب الذي يحدده هذا المقارن comparison
:
inline fun <T> Array<out T>.sort(
noinline comparison: (a: T, b: T) -> Int)
inline fun ByteArray.sort(
noinline comparison: (a: Byte, b: Byte) -> Int)
inline fun ShortArray.sort(
noinline comparison: (a: Short, b: Short) -> Int)
inline fun IntArray.sort(
noinline comparison: (a: Int, b: Int) -> Int)
inline fun LongArray.sort(
noinline comparison: (a: Long, b: Long) -> Int)
inline fun FloatArray.sort(
noinline comparison: (a: Float, b: Float) -> Int)
inline fun DoubleArray.sort(
noinline comparison: (a: Double, b: Double) -> Int)
inline fun CharArray.sort(
noinline comparison: (a: Char, b: Char) -> Int)
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).
أمثلة
استعمال الدالة ()sort
لترتيب عناصر مصفوفة:
import java.util.Arrays
fun main(args: Array<String>) {
val array = arrayOf(1, 9, 3, 7, 5, 6)
array.sort()
print(Arrays.toString(array)) // [1, 3, 5, 6, 7, 9]
}
انظر أيضًا
- الدالة
sortDescending()
: ترتِّب المصفوفة أو القائمة المتغيرة (MutableList) التي استُدعيت معها تنازليًّا. - الدالة
sortBy()
: ترتب عناصر المصفوفة أو القائمة المتغيرة (MutableList) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر. - الدالة
sortByDescending()
: ترتِّب عناصر المصفوفة أو القائمة المتغيرة (MutableList) التي استُدعيت معها تنازليًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر. - الدالة
sortWith()
: ترتِّب جميع عناصر المصفوفة أو القائمة المتغيرة (MutableList) التي استُدعيت معها أو جزءًا محدَّدًا منها تنازليًا وفقًا للمُقارن المُمرّر إليها.