الفرق بين المراجعتين لصفحة: «Kotlin/collections/contains»

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة وتدقيق.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>contains()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>contains()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة <code>contains()‎</code> القيمة <code>true</code> إن كانت [[kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها تحتوي العنصر الممرّر إليها، وفي حال استُدعيت عبر قاموس فتعيد <code>true</code> إن كان ذلك القاموس يحتوي ذلك العنصر كمفتاح (<code>key</code>)، وتعيد <code>false</code> خلاف ذلك.   
تتحقق الدالة <code>contains()‎</code> إن كانت [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها تحتوي على العنصر الممرّر إليها، أو إن كانت الخريطة التي استدعيت معها تحتوي على ذلك العنصر كمفتاح (key).   


يمكن استدعاء <code>contains()‎</code> عبر قاموس بالصياغة <code>x in map</code> للتحقق من أنّ العنصر <code>x</code> ينتمي إلى القاموس.  
يمكن استدعاء <code>contains()‎</code> مع خريطة بالشكل <code>x in map</code> للتحقق من أنّ العنصر <code>x</code> موجود ضمنها.  
==البنية العامة==
==البنية العامة==
يمكن استدعاء الدالة <code>contains()‎</code>عبر  [[kotlin/Array|المصفوفات]] :<syntaxhighlight lang="kotlin">
يمكن استدعاء الدالة <code>contains()‎</code> مع [[Kotlin/Array|مصفوفات]]:<syntaxhighlight lang="kotlin">
operator fun <T> Array<out T>.contains(element: T): Boolean  
operator fun <T> Array<out T>.contains(element: T): Boolean  
operator fun ByteArray.contains(element: Byte): Boolean  
operator fun ByteArray.contains(element: Byte): Boolean  
سطر 16: سطر 16:
</syntaxhighlight>
</syntaxhighlight>


يمكن استدعاء الدالة <code>contains()‎</code>عبر  [[kotlin/Array|المجموعات]]:<syntaxhighlight lang="kotlin">
ومع [[Kotlin/collections|مجموعات]]:<syntaxhighlight lang="kotlin">
operator fun <T> Iterable<T>.contains(element: T): Boolean  
operator fun <T> Iterable<T>.contains(element: T): Boolean  


</syntaxhighlight>يمكن استدعاء الدالة <code>contains()‎</code>عبر  القواميس (maps):<syntaxhighlight lang="kotlin">
</syntaxhighlight>ومع خرائط (maps) أيضًا:<syntaxhighlight lang="kotlin">
inline operator fun <K, V> Map<out K, V>.contains(
inline operator fun <K, V> Map<out K, V>.contains(
     key: K
     key: K
): Boolean
): Boolean
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]])، ووجود الكلمة المفتاحية <code>operator</code> يدل على أنّ هذه الدالة مرتبط بمعامل الفهرسة المذكور سابقًا.
 
ويُلاحظ وجود الكلمة المفتاحية <code>operator</code> للدلالة على أنّ هذا التابع مرتبط بمعامل الفهرسة المذكور سابقًا.
==القيم المعادة==
==القيم المعادة==
<code>true</code> إن كانت [[kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت الدالة عبرها تحتوي العنصر الممرّر إليها، وفي حال استُدعيت عبر قاموس فتعيد <code>true</code> إن كان ذلك القاموس يحتوي ذلك العنصر كمفتاح (<code>key</code>). وتعيد <code>false</code> خلاف ذلك.  
القيمة المنطقيَّة <code>true</code> إن كانت [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت الدالة معها تحتوي على العنصر الممرّر إليها، أو إن كانت الخريطة التي استدعيت معها تحتوي على ذلك العنصر كمفتاح (key). خلا ذلك، تعيد القيمة <code>false</code>.  
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()contains</code> مع اللوائح ===
===استخدام الدالة <code>()contains</code> مع القوائم ===
تعرف الشيفرة الآتية لائحة باسم <code>list</code> مكونة من خمسة حروف باستخدام الدالة <code>()listOf</code>، ثم تستخدم الدالة <code>()contains</code> للتحقق من أنّ الحرفين <code>'d'</code> و <code>'x'</code> ينتميان إلى اللائحة <code>list</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية قائمةً باسم <code>list</code> مكونة من خمسة حروف باستخدام الدالة <code>()listOf</code> ثم تستخدم الدالة <code>()contains</code> للتحقق من أنّ الحرفين <code>'d'</code> و <code>'x'</code> موجودان في تلك القائمة وتطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val list = listOf('a', 'b', 'c', 'd', 'e')
val list = listOf('a', 'b', 'c', 'd', 'e')
سطر 39: سطر 37:
</syntaxhighlight>
</syntaxhighlight>


===استخدام الدالة <code>()contains</code> مع القواميس ===
===استخدام الدالة <code>()contains</code> مع الخرائط ===
تعرف الشيفرة الآتية قاموسًا باسم <code>map</code> مكونة من زوجين باستخدام الدالة <code>()hashMapOf</code>، ثم تستخدم الدالة <code>()contains</code> للتحقق من أنّ السلسلتين النصيتين<code>'foo'</code> و <code>'fooo'</code> تنتميان إلى مفاتيح القاموس (keys) ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية خريطةً باسم <code>map</code> مكونة من زوجين باستخدام الدالة <code>()hashMapOf</code> ثمَّ تستخدم الدالة <code>()contains</code> للتحقق من أنّ السلسلتين النصيتين <code>'foo'</code> و <code>'bat'</code> موجودتان في المفاتيح (key) ضمن تلك الخريطة:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val map = hashMapOf("foo" to 1, "bar" to 2)
val map = hashMapOf("foo" to 1, "bar" to 2)


println(map.contains("foo")) // true
println(map.contains("foo")) // true
println(map.contains("fooo")) // false
println(map.contains("bat")) // false
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*صفحة [[Kotlin/Array|المصفوفات]].  
*الدالة <code>[[Kotlin/collections/component1|component1()‎]]</code>: تعيد العنصر الأول من المصفوفة أو المفتاح (key) لأول زوج (مفتاح/قيمة) في الخريطة (map) التي استدعيت معها.
*الدالة <code>[[Kotlin/collections/associate|associate()]]</code>‎: تعيد خريطةً (map) تحوي أزواجًا من "مفتاح/قيمة" ناتجة عن تمرير عناصر مصفوفة أو مجموعة ([[Kotlin/collections|Collection]]) إلى الدالة <code>()transform</code>.
* الدالة <code>[[Kotlin/collections/asList|asList()]]</code>‎: تعيد قائمة تُغلّف المصفوفة الأصليَّة.
* الخاصيّة <code>[[Kotlin/Array/size|Array.size]]</code>: تمثِّل عدد العناصر الموجودة في المصفوفة.


==مصادر==
==مصادر==

مراجعة 12:26، 3 يوليو 2018

تتحقق الدالة 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: تمثِّل عدد العناصر الموجودة في المصفوفة.

مصادر