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

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

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

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

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

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

fun <T> Array<out T>.maxWith(
    comparator: Comparator<in T>
): T? 
fun ByteArray.maxWith(comparator: Comparator<in Byte>): Byte? 
fun ShortArray.maxWith(
    comparator: Comparator<in Short>
): Short?
fun IntArray.maxWith(comparator: Comparator<in Int>): Int?
fun LongArray.maxWith(comparator: Comparator<in Long>): Long? 
fun FloatArray.maxWith(
    comparator: Comparator<in Float>
): Float?
fun DoubleArray.maxWith(
    comparator: Comparator<in Double>
): Double?
fun BooleanArray.maxWith(
    comparator: Comparator<in Boolean>
): Boolean? 
fun CharArray.maxWith(comparator: Comparator<in Char>): Char? 
fun <T> Iterable<T>.maxWith(comparator: Comparator<in T>): T?

بيئة التشغيل: JVM

fun <T> Array<out T>.maxWith(
    comparator: Comparator<in T>
): T?
fun ByteArray.maxWith(comparator: Comparator<in Byte>): Byte? 
fun ShortArray.maxWith(
    comparator: Comparator<in Short>
): Short?
fun IntArray.maxWith(comparator: Comparator<in Int>): Int? 
fun LongArray.maxWith(comparator: Comparator<in Long>): Long? 
fun FloatArray.maxWith(
    comparator: Comparator<in Float>
): Float?
fun DoubleArray.maxWith(
    comparator: Comparator<in Double>
): Double?
fun BooleanArray.maxWith(
    comparator: Comparator<in Boolean>
): Boolean?
fun CharArray.maxWith(comparator: Comparator<in Char>): Char? 
fun <T> Iterable<T>.maxWith(comparator: Comparator<in T>): T?

بيئة التشغيل: JS يمكن استدعاء الدالة minWith()‎ عبر القواميس:

inline fun <K, V> Map<out K, V>.maxWith(
    comparator: Comparator<in Entry<K, V>>
): Entry<K, V>?

بيئة التشغيل: JVM

inline fun <K, V> Map<out K, V>.maxWith(
    comparator: Comparator<in Entry<K, V>>
): Entry<K, V>?

بيئة التشغيل: JS

يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).

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

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

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

أمثلة

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

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

fun main(args: Array<String>) {
    val array = arrayOf(1, 2, 3, 4, 5,6)

    println(array.maxWith(Comparator { a, b -> b - a })) // 1
}

انظر أيضًا

مصادر