الدالة maxWith()
في لغة Kotlin
تعيد الدالةmaxWith()
العنصر الأول في المصفوفة أو المجموعة التي استُدعيت عبره والذي له أكبر قيمة بحسب المقارِن comparator
الممرّر، أو null
إن لم يكن هناك أي عنصر يحقق ذلك.
في حال استدعاء الدالة maxWith()
عبر قاموس فستعيد المدخل (Entry) الأول في ذلك القاموس والذي له أكبر قيمة حسب المقارِن comparator
، أو null
إن لم يكن هناك أي مدخل يحقق ذلك.
البنية العامة
يمكن استدعاء الدالة maxWith()
عبر المصفوفات و المجموعات:
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
يمكن استدعاء الدالة maxWith()
عبر القواميس:
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
إن لم يكن هناك أي عنصر يحقق ذلك.
في حال استدعاء الدالة maxWith()
عبر قاموس فستعيد المدخل (Entry) الأول في ذلك القاموس والذي له أكبر قيمة حسب دالة المقارنة comparator
، أو null
إن لم يكن هناك أي مدخل يحقق ذلك.
أمثلة
استخدام الدالة ()maxWith
مع المصفوفات
تعرف الشيفرة الآتية مصفوفة باسم array
مكونة من ستة أعداد باستخدام الدالة ()arrayOf
، ثم تستدعي الدالة ()maxWith
عبر 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
}