الفرق بين المراجعتين لصفحة: «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) التي استُدعيت معها أو جزءًا محدَّدًا منها تنازليًا وفقًا للمُقارن المُمرّر إليها.