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

من موسوعة حسوب
< Kotlin‏ | collections
مراجعة 10:25، 5 يوليو 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (تدقيق الأمثلة.)
اذهب إلى التنقل اذهب إلى البحث

تجلب الدالة elementAtOrNull()‎ عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. إن كان الفهرس المعطى خارج حدود المصفوفة أو المجموعة، فستُعيد الدالة القيمة العدمية null.

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

يمكن استدعاء الدالةelementAtOrNull()‎ مع المصفوفات:

inline fun <T> Array<out T>.elementAtOrNull(index: Int): T? 
inline fun ByteArray.elementAtOrNull(index: Int): Byte? 
inline fun ShortArray.elementAtOrNull(index: Int): Short?
inline fun IntArray.elementAtOrNull(index: Int): Int? 
inline fun LongArray.elementAtOrNull(index: Int): Long? 
inline fun FloatArray.elementAtOrNull(index: Int): Float? 
inline fun DoubleArray.elementAtOrNull(index: Int): Double? 
inline fun BooleanArray.elementAtOrNull(index: Int): Boolean? 
inline fun CharArray.elementAtOrNull(index: Int): Char?

ومع المجموعات:

fun <T> Iterable<T>.elementAtOrNull(index: Int): T?

ومع القوائم:

inline fun <T> List<T>.elementAtOrNull(index: Int): T?

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

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

يُعاد العنصر ذي الفهرس المعطى والموجود ضمن نطاق المصفوفة أو المجموعة المعطاة، أو القيمة العدمية null إن كان فهرس العنصر المعطى يقع خارج حدود المصفوفة أو المجموعة.

أمثلة

استخدام الدالة ()elementAtOrNull مع المصفوفات لجلب عنصر موجود

تعرِّف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()elementAtOrNull لجلب العنصر الثالث من تلك المصفوفة:

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

استخدام الدالة ()elementAtOrNull مع المصفوفات لجلب عنصر غير موجود

تعرِّف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()elementAtOrNull لجلب العنصر ذي الفهرس 6:

fun main(args: Array<String>) {
    val array = arrayOf(1, 2, 3, 4, 5, 6)
    println(array.elementAtOrNull(6)) // null
}

انظر أيضًا

مصادر