الفرق بين المراجعتين لصفحة: «Kotlin/collections/intersect»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة intersect() في لغة Kotlin}}</noinclude> تعيد الدالة <code>intersect()</code> فهرس آخر ظهور للع...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة intersect() في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة intersect() في لغة Kotlin}}</noinclude> | ||
تعيد الدالة <code>intersect()</code> | تعيد الدالة <code>intersect()</code>[[Kotlin/Set|مجموعة]] تحتوي كل العناصر المشتركة بين [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها وتلك الممرّرة إلى الدالة. | ||
المجموعة المُعادة تحافظ على ترتيب تكرار [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. | |||
== البنية العامة == | == البنية العامة == | ||
يمكن استدعاء الدالة <code>intersect()</code> عبر [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin"> | يمكن استدعاء الدالة <code>intersect()</code> عبر [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin"> | ||
infix fun <T> Array<out T>.intersect( | |||
other: Iterable<T> | |||
): | ): Set<T> | ||
infix fun ByteArray.intersect( | |||
other: Iterable<Byte> | |||
): | ): Set<Byte> | ||
infix fun ShortArray.intersect( | |||
other: Iterable<Short> | |||
): | ): Set<Short> | ||
infix fun IntArray.intersect(other: Iterable<Int>): Set<Int> (source) | |||
infix fun LongArray.intersect( | |||
): Int | other: Iterable<Long> | ||
): Set<Long> | |||
infix fun FloatArray.intersect( | |||
): | other: Iterable<Float> | ||
): Set<Float> | |||
infix fun DoubleArray.intersect( | |||
): | other: Iterable<Double> | ||
): Set<Double> | |||
infix fun BooleanArray.intersect( | |||
): | other: Iterable<Boolean> | ||
): Set<Boolean> | |||
infix fun CharArray.intersect( | |||
): | other: Iterable<Char> | ||
): Set<Char> | |||
): | |||
</syntaxhighlight>يمكن استدعاء الدالة <code>intersect()</code> عبر [[Kotlin/collections|المجموعات]]:<syntaxhighlight lang="kotlin"> | </syntaxhighlight>يمكن استدعاء الدالة <code>intersect()</code> عبر [[Kotlin/collections|المجموعات]]:<syntaxhighlight lang="kotlin"> | ||
infix fun <T> Iterable<T>.intersect( | |||
other: Iterable<T> | |||
): | ): Set<T> | ||
</syntaxhighlight> | </syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>infix</code> للدلالة على أن هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل <code>.</code>والأقواس <code>()</code> المُستخدَمَين في الاستدعاء عادةً، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/functions#.D8.A7.D9.84.D8.AA.D8.AF.D9.88.D9.8A.D9.86 .D8.A7.D9.84.D8.AF.D8.A7.D8.AE.D9.84.D9.8A.D9.91 .28Infix notation.29|توثيق التدوين الداخلي للدوال (infix functions)]]. | ||
</ | |||
== القيم المعادة == | == القيم المعادة == | ||
مجموعة تحتوي كل العناصر المشتركة بين [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها وتلك الممرّرة إلى الدالة. | |||
== أمثلة == | == أمثلة == | ||
=== استخدام الدالة<code>intersect()</code> على | === استخدام الدالة<code>intersect()</code> على اللوائح: الحالة الأولى === | ||
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/ | تعرف الشيفرة الآتية <nowiki/>[[Kotlin/List|لائحتين]] <nowiki/>باسم <code>iterable</code> و <code>other</code> مكونة من أعداد باستخدام الدالة <code>()listOf</code>، ثم تستخدم الدالة <code>()intersect</code> للحصول على [[Kotlin/Set|مجموعة]] تضم العناصر المشتركة بين [[Kotlin/List|اللائحتين]]، ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val | val iterable = listOf(1, 2, 3, 4, 5) | ||
val other = listOf(2, 3, 5, 2) | |||
val result: Set<Int> = iterable.intersect(other) | |||
println(result) // [2, 3, 5] | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== استخدام الدالة<code>intersect()</code> على | === استخدام الدالة<code>intersect()</code> على اللوائح: الحالة الثانية === | ||
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/ | تعرف الشيفرة الآتية <nowiki/>[[Kotlin/List|لائحتين]] باسم <code>iterable</code> و <code>other</code> مكونة من أعداد باستخدام الدالة <code>()listOf</code>، ثم تستخدم الدالة <code>()intersect</code> للحصول على [[Kotlin/Set|مجموعة]] تضم العناصر المشتركة بين [[Kotlin/List|اللائحتين]]، ولمّا لم تكن بينهما عناصر مشتركة، فستعيد مجموعة فارغة:<nowiki/><nowiki/><syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val iterable = listOf(1, 2, 3, 4, 5) | |||
val other = listOf(7,8,45,67) | |||
val result: Set<Int> = iterable.intersect(other) | |||
println(result) // [] | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
سطر 68: | سطر 69: | ||
== مصادر == | == مصادر == | ||
[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/ | [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/intersect.html الدالة intersect() في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Methods]] | [[تصنيف:Kotlin Methods]] |
مراجعة 17:31، 27 مايو 2018
تعيد الدالة intersect()
مجموعة تحتوي كل العناصر المشتركة بين المصفوفة أو المجموعة التي استُدعيت عبرها وتلك الممرّرة إلى الدالة.
المجموعة المُعادة تحافظ على ترتيب تكرار المصفوفة أو المجموعة التي استُدعيت عبرها.
البنية العامة
يمكن استدعاء الدالة intersect()
عبر المصفوفات:
infix fun <T> Array<out T>.intersect(
other: Iterable<T>
): Set<T>
infix fun ByteArray.intersect(
other: Iterable<Byte>
): Set<Byte>
infix fun ShortArray.intersect(
other: Iterable<Short>
): Set<Short>
infix fun IntArray.intersect(other: Iterable<Int>): Set<Int> (source)
infix fun LongArray.intersect(
other: Iterable<Long>
): Set<Long>
infix fun FloatArray.intersect(
other: Iterable<Float>
): Set<Float>
infix fun DoubleArray.intersect(
other: Iterable<Double>
): Set<Double>
infix fun BooleanArray.intersect(
other: Iterable<Boolean>
): Set<Boolean>
infix fun CharArray.intersect(
other: Iterable<Char>
): Set<Char>
يمكن استدعاء الدالة intersect()
عبر المجموعات:
infix fun <T> Iterable<T>.intersect(
other: Iterable<T>
): Set<T>
يُلاحَظ وجود الكلمة المفتاحية infix
للدلالة على أن هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل .
والأقواس ()
المُستخدَمَين في الاستدعاء عادةً، وللمزيد من التفاصيل راجع توثيق التدوين الداخلي للدوال (infix functions).
القيم المعادة
مجموعة تحتوي كل العناصر المشتركة بين المصفوفة أو المجموعة التي استُدعيت عبرها وتلك الممرّرة إلى الدالة.
أمثلة
استخدام الدالةintersect()
على اللوائح: الحالة الأولى
تعرف الشيفرة الآتية لائحتين باسم iterable
و other
مكونة من أعداد باستخدام الدالة ()listOf
، ثم تستخدم الدالة ()intersect
للحصول على مجموعة تضم العناصر المشتركة بين اللائحتين، ثم تطبع الناتج:
fun main(args: Array<String>) {
val iterable = listOf(1, 2, 3, 4, 5)
val other = listOf(2, 3, 5, 2)
val result: Set<Int> = iterable.intersect(other)
println(result) // [2, 3, 5]
}
استخدام الدالةintersect()
على اللوائح: الحالة الثانية
تعرف الشيفرة الآتية لائحتين باسم iterable
و other
مكونة من أعداد باستخدام الدالة ()listOf
، ثم تستخدم الدالة ()intersect
للحصول على مجموعة تضم العناصر المشتركة بين اللائحتين، ولمّا لم تكن بينهما عناصر مشتركة، فستعيد مجموعة فارغة:
fun main(args: Array<String>) {
val iterable = listOf(1, 2, 3, 4, 5)
val other = listOf(7,8,45,67)
val result: Set<Int> = iterable.intersect(other)
println(result) // []
}
انظر أيضًا
indexOf()
: تعيد فهرس أول ظهور للعنصر المُمرّر إليها في المصفوفة أو المجموعة أو اللائحة التي استُدعيت عبرها ، أو -1
إن كان العنصر المُمرّر غير موجود.
indexOfFirst()
: تعيد فهرس أول ظهور للعنصر المُمرّر إليها في المصفوفة أو المجموعة أو اللائحة التي استُدعيت عبرها والذي يحقق الشرط المنطقي المُمرّر، أو -1
إن كان العنصر المُمرّر غير موجود.
مصادر
الدالة intersect() في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin.