الدالة contains()‎ في Kotlin

من موسوعة حسوب
< Kotlin‏ | collections
مراجعة 11:34، 30 أغسطس 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - 'Kotlin Functions' ب'Kotlin Function')
اذهب إلى التنقل اذهب إلى البحث

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

يمكن استدعاء contains()‎ مع خريطة بالشكل x in map للتحقق من أنّ العنصر x موجود ضمنها.

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

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

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

ومع مجموعات:

operator fun <T> Iterable<T>.contains(element: T): Boolean

ومع خرائط (maps) أيضًا:

inline operator fun <K, V> Map<out K, V>.contains(
    key: K
): Boolean

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

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

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

أمثلة

استخدام الدالة ()contains مع القوائم

تعرِّف الشيفرة الآتية قائمةً باسم list مكونة من خمسة حروف باستخدام الدالة ()listOf ثم تستخدم الدالة ()contains للتحقق من أنّ الحرفين 'd' و 'x' موجودان في تلك القائمة وتطبع الناتج:

fun main(args: Array<String>) {
    val list = listOf('a', 'b', 'c', 'd', 'e')

    println(list.contains('d')) // true
    println(list.contains('x')) // false
}

استخدام الدالة ()contains مع الخرائط

تعرِّف الشيفرة الآتية خريطةً باسم map مكونة من زوجين باستخدام الدالة ()hashMapOf ثمَّ تستخدم الدالة ()contains للتحقق من أنّ السلسلتين النصيتين 'foo' و 'bat' موجودتان في المفاتيح (key) ضمن تلك الخريطة:

fun main(args: Array<String>) {
    val map = hashMapOf("foo" to 1, "bar" to 2)

    println(map.contains("foo")) // true
    println(map.contains("bat")) // false
}

انظر أيضًا

  • الدالة component1()‎: تعيد العنصر الأول من المصفوفة أو المفتاح (key) لأول زوج (مفتاح/قيمة) في الخريطة (map) التي استدعيت معها.
  • الدالة associate()‎: تعيد خريطةً (map) تحوي أزواجًا من "مفتاح/قيمة" ناتجة عن تمرير عناصر مصفوفة أو مجموعة (Collection) إلى الدالة ()transform.
  • الدالة asList()‎: تعيد قائمة تُغلّف المصفوفة الأصليَّة.
  • الخاصيّة Array.size: تمثِّل عدد العناصر الموجودة في المصفوفة.

مصادر