الفرق بين المراجعتين لصفحة: «Kotlin/collections/maxBy»
< Kotlin | collections
ط استبدال النص - 'Kotlin Functions' ب'Kotlin Function' |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 38: | سطر 38: | ||
): 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> إن لم يكن هناك أي عنصر. | يعاد العنصر أو الزوج الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو الخريطة المعطاة والذي أعطى أكبر قيمة عند تطبيق الدالة <code>selector</code> عليه، أو تُعاد القيمة <code>null</code> إن لم يكن هناك أي عنصر. |
مراجعة 11:07، 4 سبتمبر 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
المعطى.