الفرق بين المراجعتين لصفحة: «Kotlin/collections/maxBy»
< Kotlin | collections
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>maxBy()</code> في | <noinclude>{{DISPLAYTITLE: الدالة <code>maxBy()</code> في Kotlin}}</noinclude> | ||
تجلب الدالة <code>maxBy()</code> العنصر أو الزوج الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو الخريطة التي استُدعيت معها والذي أعيدت معه أكبر قيمة عند تطبيق دالة معيَّنة عليه. | |||
==البنية العامة== | ==البنية العامة== | ||
يمكن استدعاء الدالة <code>maxBy()</code> | يمكن استدعاء الدالة <code>maxBy()</code> مع [[Kotlin/Array|المصفوفات]] و [[Kotlin/collections|المجموعات]] والخرائط''':'''<syntaxhighlight lang="kotlin"> | ||
inline fun <T, R : Comparable<R>> Array<out T>.maxBy( | inline fun <T, R : Comparable<R>> Array<out T>.maxBy( | ||
selector: (T) -> R | selector: (T) -> R | ||
سطر 37: | سطر 34: | ||
): T? | ): T? | ||
inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxBy( | inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxBy( | ||
selector: (Entry<K, V>) -> R | selector: (Entry<K, V>) -> R | ||
): Entry<K, V>? | ): Entry<K, V>? | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== المعاملات == | |||
=== <code>selector</code> === | |||
دالةٌ تطبَّق على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو الخريطة المعطاة. يمرر إليها العنصر، وتعيد قيمة مقابلة له. | |||
==القيم المعادة== | |||
يعاد العنصر أو الزوج الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو الخريطة المعطاة والذي أعطى أكبر قيمة عند تطبيق الدالة <code>selector</code> عليه، أو تُعاد القيمة <code>null</code> إن لم يكن هناك أي عنصر. | |||
==أمثلة== | ==أمثلة== | ||
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code> تحوي سلاسل نصية ثمَّ تستدعي الدالة <code>()maxBy</code> لمعرفة أطول سلسلة نصية:<syntaxhighlight lang="kotlin"> | |||
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val array = arrayOf(" | val array = arrayOf("مستقل", "أكاديمية حسوب", "خمسات", "موسوعة حسوب") | ||
println(array.maxBy {it.length}) | println(array.maxBy { it.length }) // أكاديمية حسوب | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | |||
*<code>[[Kotlin/collections/ | *الدالة <code>[[Kotlin/collections/minBy|minBy()]]</code>: تجلب العنصر أو الزوج الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو الخريطة التي استُدعيت معها والذي أعيدت معه أصغر قيمة عند تطبيق دالة معيَّنة عليه. | ||
*الدالة <code>[[Kotlin/collections/max|max()]]</code>: تجلب أكبر عنصر في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها. | |||
* <code>[[Kotlin/collections/max|max()]]</code>: | *الدالة <code>[[Kotlin/collections/maxWith|maxWith()]]</code>: تجلب العنصر أو الزوج الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو الخريطة التي استُدعيت معها والذي له أكبر قيمة بحسب الموازن <code>comparator</code> المعطى. | ||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/max-by.html الدالة | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/max-by.html صفحة الدالة maxBy() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Collection]] |
المراجعة الحالية بتاريخ 09:24، 8 سبتمبر 2018
تجلب الدالة maxBy()
العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي أعيدت معه أكبر قيمة عند تطبيق دالة معيَّنة عليه.
البنية العامة
يمكن استدعاء الدالة maxBy()
مع المصفوفات و المجموعات والخرائط:
inline fun <T, R : Comparable<R>> Array<out T>.maxBy(
selector: (T) -> R
): T?
inline fun <R : Comparable<R>> ByteArray.maxBy(
selector: (Byte) -> R
): Byte?
inline fun <R : Comparable<R>> ShortArray.maxBy(
selector: (Short) -> R
): Short?
inline fun <R : Comparable<R>> IntArray.maxBy(
selector: (Int) -> R
): Int?
inline fun <R : Comparable<R>> LongArray.maxBy(
selector: (Long) -> R
): Long?
inline fun <R : Comparable<R>> FloatArray.maxBy(
selector: (Float) -> R
): Float?
inline fun <R : Comparable<R>> DoubleArray.maxBy(
selector: (Double) -> R
): Double?
inline fun <R : Comparable<R>> BooleanArray.maxBy(
selector: (Boolean) -> R
): Boolean?
inline fun <R : Comparable<R>> CharArray.maxBy(
selector: (Char) -> R
): Char?
inline fun <T, R : Comparable<R>> Iterable<T>.maxBy(
selector: (T) -> R
): T?
inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxBy(
selector: (Entry<K, V>) -> R
): Entry<K, V>?
المعاملات
selector
دالةٌ تطبَّق على كل عنصر من عناصر المصفوفة أو المجموعة أو الخريطة المعطاة. يمرر إليها العنصر، وتعيد قيمة مقابلة له.
القيم المعادة
يعاد العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة المعطاة والذي أعطى أكبر قيمة عند تطبيق الدالة selector
عليه، أو تُعاد القيمة null
إن لم يكن هناك أي عنصر.
أمثلة
تعرف الشيفرة الآتية مصفوفة باسم array
باستخدام الدالة ()arrayOf
تحوي سلاسل نصية ثمَّ تستدعي الدالة ()maxBy
لمعرفة أطول سلسلة نصية:
fun main(args: Array<String>) {
val array = arrayOf("مستقل", "أكاديمية حسوب", "خمسات", "موسوعة حسوب")
println(array.maxBy { it.length }) // أكاديمية حسوب
}
انظر أيضًا
- الدالة
minBy()
: تجلب العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي أعيدت معه أصغر قيمة عند تطبيق دالة معيَّنة عليه. - الدالة
max()
: تجلب أكبر عنصر في المصفوفة أو المجموعة التي استُدعيت معها. - الدالة
maxWith()
: تجلب العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي له أكبر قيمة بحسب الموازنcomparator
المعطى.