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

من موسوعة حسوب
مراجعة 12:45، 4 يوليو 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)

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

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

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

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

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

fun <T> Iterable<T>.elementAt(index: Int): T

ومع القوائم:

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

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

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

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

أمثلة

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

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

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

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

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

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

لمَّا كان العنصر المشار إليه خارج حدود المصفوفة، فسيُطلق استثناءً وسنحصل على النتيجة التالية:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 12
    at Simplest_versionKt.main(Simplest version.kt:3)

انظر أيضًا

مصادر