الفرق بين المراجعتين لصفحة: «Kotlin/collections/maxWith»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>maxWith()</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>maxWith()</code> العنصر الأول...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>maxWith()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>maxWith()</code> في لغة Kotlin}}</noinclude> | ||
تعيد الدالة<code>maxWith()</code> العنصر الأول في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبره والذي له أكبر قيمة | تعيد الدالة<code>maxWith()</code> العنصر الأول في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبره والذي له أكبر قيمة بحسب دالة المقارنة <code>comparator</code> الممرّرة، أو <code>null</code> إن لم يكن هناك أي عنصر يحقق ذلك. | ||
في حال استدعاء الدالة <code>maxWith()</code> عبر [[Kotlin/Map|قاموس]] فستعيد المدخل (Entry) الأول في ذلك [[Kotlin/Map|القاموس]] والذي له أكبر قيمة | في حال استدعاء الدالة <code>maxWith()</code> عبر [[Kotlin/Map|قاموس]] فستعيد المدخل (Entry) الأول في ذلك [[Kotlin/Map|القاموس]] والذي له أكبر قيمة حسب دالة المقارنة <code>comparator</code>، أو <code>null</code> إن لم يكن هناك أي مدخل يحقق ذلك. | ||
==البنية العامة== | ==البنية العامة== | ||
يمكن استدعاء الدالة <code>maxWith()</code> عبر '''[[Kotlin/Array|المصفوفات]] و [[Kotlin/collections|المجموعات]]:'''<syntaxhighlight lang="kotlin"> | يمكن استدعاء الدالة <code>maxWith()</code> عبر '''[[Kotlin/Array|المصفوفات]] و [[Kotlin/collections|المجموعات]]:'''<syntaxhighlight lang="kotlin"> | ||
fun <T> Array<out T>.maxWith( | |||
comparator: Comparator<in T> | |||
): T? | ): T? | ||
fun ByteArray.maxWith(comparator: Comparator<in Byte>): Byte? | |||
fun ShortArray.maxWith( | |||
): Byte? | comparator: Comparator<in Short> | ||
): Short? | |||
fun IntArray.maxWith(comparator: Comparator<in Int>): Int? | |||
): Short? | fun LongArray.maxWith(comparator: Comparator<in Long>): Long? | ||
fun FloatArray.maxWith( | |||
comparator: Comparator<in Float> | |||
): Int? | ): Float? | ||
fun DoubleArray.maxWith( | |||
comparator: Comparator<in Double> | |||
): Long? | ): Double? | ||
fun BooleanArray.maxWith( | |||
comparator: Comparator<in Boolean> | |||
): Float? | |||
): Double? | |||
): Boolean? | ): Boolean? | ||
fun CharArray.maxWith(comparator: Comparator<in Char>): Char? | |||
fun <T> Iterable<T>.maxWith(comparator: Comparator<in T>): T? | |||
): | |||
</syntaxhighlight>'''بيئة التشغيل: JVM'''<syntaxhighlight lang="kotlin"> | |||
fun <T> Array<out T>.maxWith( | |||
comparator: Comparator<in T> | |||
): 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? | |||
</syntaxhighlight>'''بيئة التشغيل: JS''' | |||
يمكن استدعاء الدالة <code>maxWith()</code> عبر [[Kotlin/Map|القواميس]]:<syntaxhighlight lang="kotlin"> | |||
inline fun <K, V, | inline fun <K, V> Map<out K, V>.maxWith( | ||
comparator: Comparator<in Entry<K, V>> | |||
): Entry<K, V>? | |||
</syntaxhighlight>'''بيئة التشغيل: JVM'''<syntaxhighlight lang="kotlin"> | |||
inline fun <K, V> Map<out K, V>.maxWith( | |||
comparator: Comparator<in Entry<K, V>> | |||
): Entry<K, V>? | ): Entry<K, V>? | ||
</syntaxhighlight> | </syntaxhighlight>'''بيئة التشغيل: JS''' | ||
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | |||
==القيم المٌعادة== | ==القيم المٌعادة== | ||
العنصر الأول في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبره والذي له أكبر قيمة | العنصر الأول في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبره والذي له أكبر قيمة بحسب دالة المقارنة <code>comparator</code> الممرّرة، أو <code>null</code> إن لم يكن هناك أي عنصر يحقق ذلك. | ||
في حال استدعاء الدالة <code>maxWith()</code> عبر [[Kotlin/Map|قاموس]] فستعيد المدخل (Entry) الأول في ذلك [[Kotlin/Map|القاموس]] والذي له أكبر قيمة | في حال استدعاء الدالة <code>maxWith()</code> عبر [[Kotlin/Map|قاموس]] فستعيد المدخل (Entry) الأول في ذلك [[Kotlin/Map|القاموس]] والذي له أكبر قيمة حسب دالة المقارنة <code>comparator</code>، أو <code>null</code> إن لم يكن هناك أي مدخل يحقق ذلك. | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()maxWith</code> مع المصفوفات=== | ===استخدام الدالة <code>()maxWith</code> مع المصفوفات=== | ||
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]]<nowiki/> باسم <code>array</code>مكونة من | تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]]<nowiki/> باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستدعي الدالة <code>()maxWith</code> عبر <code>array</code> مع تمرير مقارِن <code>comparator</code><nowiki/>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val array = arrayOf( | val array = arrayOf(1, 2, 3, 4, 5,6) | ||
println(array. | println(array.maxWith(Comparator { a, b -> b - a })) // 1 | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
سطر 61: | سطر 83: | ||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/max- | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/max-with.html الدالة maxWith() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 14:03، 31 مايو 2018
تعيد الدالة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
}