الفرق بين المراجعتين ل"Kotlin/collections/contains"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>contains()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>contains()‎</code> العنصر الأ...')
 
ط
 
(7 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>contains()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>contains()‎</code> في Kotlin}}</noinclude>
تعيد الدالة <code>contains()‎</code> العنصر الأول من المصفوفة التي استُدعيت عبرها، وفي حال استُدعيت عبر قاموس فستعيد مركبة المفتاح (key component) الخاصة بمدخل القاموس (map entry)، وتسمح هذه الدالة باستخدام التصريحات التفكيكية (destructuring declarations) عند العمل على القواميس.  
+
تتحقق الدالة <code>contains()‎</code> إن كانت [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها تحتوي على العنصر الممرّر إليها، أو إن كانت الخريطة التي استدعيت معها تحتوي على ذلك العنصر كمفتاح (key)
 +
 
 +
يمكن استدعاء <code>contains()‎</code> مع خريطة بالشكل <code>x in map</code> للتحقق من أنّ العنصر <code>x</code> موجود ضمنها.  
 
==البنية العامة==
 
==البنية العامة==
يمكن استدعاء الدالة <code>contains()‎</code>عبر المصفوفات واللوائح (<code>List</code>):<syntaxhighlight lang="kotlin">
+
يمكن استدعاء الدالة <code>contains()‎</code> مع [[Kotlin/Array|مصفوفات]]:<syntaxhighlight lang="kotlin">
inline operator fun <T> Array<out T>.component1(): T
+
operator fun <T> Array<out T>.contains(element: T): Boolean
inline operator fun ByteArray.component1(): Byte
+
operator fun ByteArray.contains(element: Byte): Boolean
inline operator fun ShortArray.component1(): Short
+
operator fun ShortArray.contains(element: Short): Boolean
inline operator fun IntArray.component1(): Int
+
operator fun IntArray.contains(element: Int): Boolean
inline operator fun LongArray.component1(): Long
+
operator fun LongArray.contains(element: Long): Boolean
inline operator fun FloatArray.component1(): Float
+
operator fun FloatArray.contains(element: Float): Boolean
inline operator fun DoubleArray.component1(): Double
+
operator fun DoubleArray.contains(element: Double): Boolean
inline operator fun BooleanArray.component1(): Boolean  
+
operator fun BooleanArray.contains(element: Boolean): Boolean  
inline operator fun CharArray.component1(): Char
+
operator fun CharArray.contains(element: Char): Boolean
inline operator fun <T> List<T>.component1(): T
+
</syntaxhighlight>
  
</syntaxhighlight>
+
ومع [[Kotlin/collections|مجموعات]]:<syntaxhighlight lang="kotlin">
 +
operator fun <T> Iterable<T>.contains(element: T): Boolean
 +
 
 +
</syntaxhighlight>ومع خرائط (maps) أيضًا:<syntaxhighlight lang="kotlin">
 +
inline operator fun <K, V> Map<out K, V>.contains(
 +
    key: K
 +
): Boolean
 +
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]])، ووجود الكلمة المفتاحية <code>operator</code> يدل على أنّ هذه الدالة مرتبط بمعامل الفهرسة المذكور سابقًا.
 +
 
 +
== المعاملات ==
  
ويمكن استدعاء الدالة <code>component1()‎</code>عبر القواميس (maps):<syntaxhighlight lang="kotlin">
+
=== <code>element</code> ===
inline operator fun <K, V> Entry<K, V>.component1(): K
+
العنصر المراد التحقق من وجوده ضمن [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة.
  
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
 
==القيم المعادة==
 
==القيم المعادة==
العنصر الأول من المصفوفة التي استُدعيت عبرها، وفي حال استُدعيت عبر قاموس فستعيد مركبة المفتاح (key component) الخاصة بمدخل القاموس (map entry).
+
تُعاد القيمة المنطقيَّة <code>true</code> إن كانت [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت الدالة معها تحتوي على العنصر الممرّر إليها، أو إن كانت الخريطة التي استدعيت معها تحتوي على ذلك العنصر كمفتاح (key). خلا ذلك، تعيد القيمة <code>false</code>.  
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()contains</code> مع اللوائح ===
+
استخدام الدالة <code>()contains</code> مع القوائم:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية لائحة باسم <code>list</code> مكونة من خمسة حروف باستخدام الدالة <code>()listOf</code>، ثم تستخدم الدالة <code>()component1</code> للحصول على العنصر الأول من اللائحة <code>list</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')
println(list.component1()) // a
+
 
 +
    println(list.contains('d')) // true
 +
    println(list.contains('x')) // false
 
}
 
}
</syntaxhighlight>
+
</syntaxhighlight>استخدام الدالة <code>()contains</code> مع الخرائط:<syntaxhighlight lang="kotlin">
 +
fun main(args: Array<String>) {
 +
    val map = hashMapOf("foo" to 1, "bar" to 2)
  
===استخدام الدالة <code>()component1</code> مع القواميس ===
+
    println(map.contains("foo")) // true
تعرف الشيفرة الآتية قاموسًا باسم <code>map</code> مكونة من  زوجين باستخدام الدالة <code>()hashMapOf</code>، ثم تستخدم الدالة <code>()component1</code> للحصول على المركب الأول من مداخل القاموس (entries) في الحلقة <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
     println(map.contains("bat")) // false
fun main(args: Array<String>) {
 
val map = hashMapOf("foo" to 1, "bar" to 2)
 
for (x  in map) {
 
     println(x.component1()) // bar foo
 
}
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
*<code>[[Kotlin/collections/associate|associate()]]</code>‎: تعيد قاموسًا (map).  
+
*الدالة <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>: تمثِّل عدد العناصر الموجودة في المصفوفة.
  
 
==مصادر==
 
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/component1.html الدالة  component1()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/contains.html صفحة الدالة contains()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
+
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 07:27، 8 سبتمبر 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 يدل على أنّ هذه الدالة مرتبط بمعامل الفهرسة المذكور سابقًا.

المعاملات

element

العنصر المراد التحقق من وجوده ضمن المصفوفة أو المجموعة المعطاة.

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

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

أمثلة

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

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

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

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

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

مصادر