الفرق بين المراجعتين لصفحة: «Kotlin/collections/sortedBy»
< Kotlin | collections
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>sortedBy()</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>sortedBy()</code> Kotlin/Array|مصف...' |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(4 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>sortedBy()</code> في | <noinclude>{{DISPLAYTITLE: الدالة <code>sortedBy()</code> في Kotlin}}</noinclude> | ||
ترتِّب الدالة <code>sortedBy()</code> جميع عناصر [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Iterable|المجموعة التكرارية]]<nowiki/> (Iterable) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر ثمَّ تضع الناتج في قائمة. | |||
==البنية العامة== | ==البنية العامة== | ||
<nowiki/><nowiki/><syntaxhighlight lang="kotlin"> | <nowiki/><nowiki/><syntaxhighlight lang="kotlin"> | ||
fun <T> Array<out T>. | inline fun <T, R : Comparable<R>> Array<out T>.sortedBy( | ||
crossinline selector: (T) -> R? | |||
): | ): List<T> | ||
</syntaxhighlight> | inline fun <R : Comparable<R>> ByteArray.sortedBy( | ||
crossinline selector: (Byte) -> R? | |||
): List<Byte> | |||
inline fun <R : Comparable<R>> ShortArray.sortedBy( | |||
crossinline selector: (Short) -> R? | |||
): List<Short> | |||
inline fun <R : Comparable<R>> IntArray.sortedBy( | |||
crossinline selector: (Int) -> R? | |||
): List<Int> | |||
inline fun <R : Comparable<R>> LongArray.sortedBy( | |||
crossinline selector: (Long) -> R? | |||
): List<Long> | |||
inline fun <R : Comparable<R>> FloatArray.sortedBy( | |||
crossinline selector: (Float) -> R? | |||
): List<Float> | |||
inline fun <R : Comparable<R>> DoubleArray.sortedBy( | |||
crossinline selector: (Double) -> R? | |||
): List<Double> | |||
inline fun <R : Comparable<R>> BooleanArray.sortedBy( | |||
crossinline selector: (Boolean) -> R? | |||
): List<Boolean> | |||
inline fun <R : Comparable<R>> CharArray.sortedBy( | |||
crossinline selector: (Char) -> R? | |||
): List<Char> | |||
inline fun <T, R : Comparable<R>> Iterable<T>.sortedBy( | |||
crossinline selector: (T) -> R? | |||
): List<T> | |||
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة <nowiki/>[[Kotlin/inline functions|الدوال المباشرة (inline functions)]]). | |||
== المعاملات == | |||
=== <code>selector</code> === | |||
دالة تطبق على كل قيمة من قيم [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Iterable|المجموعة التكرارية]] المعطاة ثم تعيد قيمة مقابلة لكل عنصر من أجل ترتيب العناصر وفقًا لهذه القيم المعادة. | |||
== القيمة | == القيمة المعادة == | ||
[[Kotlin/ | تعاد [[Kotlin/List|قائمة]] تضم عناصر [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Iterable|المجموعة التكرارية]] (Iterable)<nowiki/> المعطاة بعد ترتيبها تصاعديًّا وفقًا للقيم التي تعيدها الدالة <code>selector</code> التي تطبَّق على كل عنصر على حدة. | ||
==أمثلة== | ==أمثلة== | ||
<nowiki/><nowiki/>استعمال الدالة <code>()sortedBy</code> لترتيب عناصر مصفوفة بحسب مربَّع كل عنصر:<syntaxhighlight lang="kotlin"> | |||
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) | ||
print ( | print (array.sortedBy {it*it}) // [1, -3, 5, 6, 7, 9] | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | ==انظر أيضًا== | ||
*<code>[[Kotlin/collections/ | *الدالة <code>[[Kotlin/collections/sorted|sorted()]]</code>: جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو المجموعة التكرارية التي استُدعيت معها تصاعديًّا ثمَّ تضع الناتج في قائمة. | ||
*الدالة <code>[[Kotlin/collections/sortedArray|sortedArray()]]</code>: ترتِّب جميع عناصر [[Kotlin/Array|المصفوفة]] التي استُدعيت معها تصاعديًّا ثمَّ تضع الناتج في [[Kotlin/List|مصفوفة]] جديدة. | |||
* <code>[[Kotlin/collections/ | *الدالة <code>[[Kotlin/collections/sortedArrayDescending|sortedArrayDescending()]]</code>: ترتِّب جميع عناصر [[Kotlin/Array|المصفوفة]] التي استُدعيت معها تنازليًّا ثمَّ تضع الناتج في [[Kotlin/List|مصفوفة]] جديدة. | ||
* <code>[[Kotlin/collections/ | *الدالة <code>[[Kotlin/collections/sortedArrayWith|sortedArrayWith()]]</code>: ترتِّب جميع عناصر [[Kotlin/Array|المصفوفة]] التي استُدعيت معها وفقًا للمُقارِن المُمرّر إليها ثمَّ تضع الناتج في مصفوفة جديدة. | ||
*الدالة <code>[[Kotlin/collections/sortedByDescending|sortedByDescending()]]</code>: ترتِّب جميع عناصر [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Iterable|المجموعة التكرارية]] (Iterable) التي استُدعيت معها تنازليًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر ثمَّ تضع الناتج في قائمة. | |||
*الدالة <code>[[Kotlin/collections/sortedDescending|sortedDescending()]]</code>: ترتِّب جميع عناصر [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت معها تنازليًّا ثمَّ تضع الناتج في [[Kotlin/List|قائمة]]. | |||
* الدالة <code>[[Kotlin/collections/sortedWith|sortedWith()]]</code>: ترتِّب جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت معها وفقًا للمُقارِن المُمرّر إليها ثمَّ تضع الناتج في قائمة. | |||
* الدالة <code>[[Kotlin/collections/sortBy|sortBy()]]</code> : ترتب عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو القائمة المتغيرة (MutableList) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر. | |||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sorted- | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sorted-by.html صفحة الدالة sortedBy() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Collection]] |
المراجعة الحالية بتاريخ 11:20، 8 سبتمبر 2018
ترتِّب الدالة sortedBy()
جميع عناصر المصفوفة أو المجموعة التكرارية (Iterable) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر ثمَّ تضع الناتج في قائمة.
البنية العامة
inline fun <T, R : Comparable<R>> Array<out T>.sortedBy(
crossinline selector: (T) -> R?
): List<T>
inline fun <R : Comparable<R>> ByteArray.sortedBy(
crossinline selector: (Byte) -> R?
): List<Byte>
inline fun <R : Comparable<R>> ShortArray.sortedBy(
crossinline selector: (Short) -> R?
): List<Short>
inline fun <R : Comparable<R>> IntArray.sortedBy(
crossinline selector: (Int) -> R?
): List<Int>
inline fun <R : Comparable<R>> LongArray.sortedBy(
crossinline selector: (Long) -> R?
): List<Long>
inline fun <R : Comparable<R>> FloatArray.sortedBy(
crossinline selector: (Float) -> R?
): List<Float>
inline fun <R : Comparable<R>> DoubleArray.sortedBy(
crossinline selector: (Double) -> R?
): List<Double>
inline fun <R : Comparable<R>> BooleanArray.sortedBy(
crossinline selector: (Boolean) -> R?
): List<Boolean>
inline fun <R : Comparable<R>> CharArray.sortedBy(
crossinline selector: (Char) -> R?
): List<Char>
inline fun <T, R : Comparable<R>> Iterable<T>.sortedBy(
crossinline selector: (T) -> R?
): List<T>
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).
المعاملات
selector
دالة تطبق على كل قيمة من قيم المصفوفة أو المجموعة التكرارية المعطاة ثم تعيد قيمة مقابلة لكل عنصر من أجل ترتيب العناصر وفقًا لهذه القيم المعادة.
القيمة المعادة
تعاد قائمة تضم عناصر المصفوفة أو المجموعة التكرارية (Iterable) المعطاة بعد ترتيبها تصاعديًّا وفقًا للقيم التي تعيدها الدالة selector
التي تطبَّق على كل عنصر على حدة.
أمثلة
استعمال الدالة ()sortedBy
لترتيب عناصر مصفوفة بحسب مربَّع كل عنصر:
fun main(args: Array<String>) {
val array = arrayOf(1, 9, -3, 7, 5, 6)
print (array.sortedBy {it*it}) // [1, -3, 5, 6, 7, 9]
}
انظر أيضًا
- الدالة
sorted()
: جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها تصاعديًّا ثمَّ تضع الناتج في قائمة. - الدالة
sortedArray()
: ترتِّب جميع عناصر المصفوفة التي استُدعيت معها تصاعديًّا ثمَّ تضع الناتج في مصفوفة جديدة. - الدالة
sortedArrayDescending()
: ترتِّب جميع عناصر المصفوفة التي استُدعيت معها تنازليًّا ثمَّ تضع الناتج في مصفوفة جديدة. - الدالة
sortedArrayWith()
: ترتِّب جميع عناصر المصفوفة التي استُدعيت معها وفقًا للمُقارِن المُمرّر إليها ثمَّ تضع الناتج في مصفوفة جديدة. - الدالة
sortedByDescending()
: ترتِّب جميع عناصر المصفوفة أو المجموعة التكرارية (Iterable) التي استُدعيت معها تنازليًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر ثمَّ تضع الناتج في قائمة. - الدالة
sortedDescending()
: ترتِّب جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها تنازليًّا ثمَّ تضع الناتج في قائمة. - الدالة
sortedWith()
: ترتِّب جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها وفقًا للمُقارِن المُمرّر إليها ثمَّ تضع الناتج في قائمة. - الدالة
sortBy()
: ترتب عناصر المصفوفة أو القائمة المتغيرة (MutableList) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر.