الدالة minBy()‎ في لغة Kotlin

من موسوعة حسوب
مراجعة 12:58، 31 مايو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>minBy()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>minBy()‎</code> العنصر الأول ف...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تعيد الدالةminBy()‎ العنصر الأول في المصفوفة أو المجموعة التي استُدعيت عبره والذي له أكبر قيمة معادة من الدالة الممررة selector، أو null إن لم يكن هناك أي عنصر يحقق ذلك.

في حال استدعاء الدالة minBy()‎ عبر قاموس فستعيد المدخل (Entry) الأول في ذلك القاموس والذي له أكبر قيمة معادة من الدالة الممررة selector، أو null إن لم يكن هناك أي مدخل يحقق ذلك.

البنية العامة

يمكن استدعاء الدالة minBy()‎ عبر المصفوفات و المجموعات:

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?

يمكن استدعاء الدالة minBy()‎ عبر القواميس:

inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxBy(
    selector: (Entry<K, V>) -> R
): Entry<K, V>?

القيم المٌعادة

العنصر الأول في المصفوفة أو المجموعة التي استُدعيت عبره والذي له أكبر قيمة معادة من الدالة الممررة selector، أو null إن لم يكن هناك أي عنصر يحقق ذلك.

في حال استدعاء الدالة minBy()‎ عبر قاموس فستعيد المدخل (Entry) الأول في ذلك القاموس والذي له أكبر قيمة معادة من الدالة الممررة selector، أو null إن لم يكن هناك أي مدخل يحقق ذلك.

أمثلة

استخدام الدالة ()minBy مع المصفوفات

تعرف الشيفرة الآتية مصفوفة باسم arrayمكونة من أربعة سلاسل نصية باستخدام الدالة ()arrayOf، ثم تستدعي الدالة ()maxBy عبر array مع تمرير دالة تعيد طول السلسلة النصية للحصول على أكبر سلسلة نصية في المصفوفة array من حيث الطول، ثم تطبع الناتج:

fun main(args: Array<String>) {
val array = arrayOf("foo", "hsoub", "g", "vol")
        
println(array.maxBy {it.length})   // hsoub
}

انظر أيضًا

مصادر