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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - 'Kotlin Functions' ب'Kotlin Function')
ط
 
سطر 35: سطر 35:
 
): Set<T>
 
): Set<T>
 
</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)]]).
 
</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)]]).
 +
 +
== المعاملات ==
 +
 +
=== <code>other</code> ===
 +
كائن من النوع <code>[[Kotlin/collections/Iterable|Iterable]]</code> يراد البحث ضمنه عن عناصر مشتركة بينه وبين المصفوفة أو المجموعة المعطاة.
 +
 
== القيم المعادة ==
 
== القيم المعادة ==
 
تُعاد مجموعة تحوي جميع العناصر المشتركة بين المصفوفتين أو المجموعتين المُعطَيتين.
 
تُعاد مجموعة تحوي جميع العناصر المشتركة بين المصفوفتين أو المجموعتين المُعطَيتين.
 
== أمثلة ==
 
== أمثلة ==
 
+
مثالٌ<nowiki/><nowiki/> على استعمال الدالة <code>()intersect</code>:<syntaxhighlight lang="kotlin">
=== استخدام الدالة <code>intersect()‎</code> مع القوائم: وجود عناصر مشتركة ===
 
تعرف الشيفرة الآتية <nowiki/>قائمتين <nowiki/>باسم <code>iterable</code> و <code>other</code> باستخدام الدالة <code>()listOf</code> ثمَّ تستخدم الدالة <code>()intersect</code> لجلب جميع العناصر المشتركة بين هاتين القائمتين:<syntaxhighlight lang="kotlin">
 
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
 
     val iterable = listOf(1, 2, 3, 4, 5)
 
     val iterable = listOf(1, 2, 3, 4, 5)
     val other = listOf(2, 3, 5, 2)
+
     val other1 = listOf(2, 3, 5, 2)
 
+
     val other2 = listOf(7, 8, 45, 67)
    val result: Set<Int> = iterable.intersect(other)
 
 
 
    println(result) // [2, 3, 5]
 
}
 
</syntaxhighlight>
 
 
 
=== استخدام الدالة <code>intersect()‎</code> مع القوائم: عدم وجود عناصر مشتركة ===
 
تعرف الشيفرة الآتية <nowiki/>قائمتين باسم <code>iterable</code> و <code>other</code> باستخدام الدالة <code>()listOf</code> ثمَّ تستخدم الدالة <code>()intersect</code> لجلب جميع العناصر المشتركة بين هاتين المجموعيتن:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
 
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)
+
     val result1: Set<Int> = iterable.intersect(other1)
 +
    println(result1) // [2, 3, 5]
  
     println(result) // []
+
    val result2: Set<Int> = iterable.intersect(other2)
 +
     println(result2) // []
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
سطر 73: سطر 68:
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Function]]
 
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 08:32، 8 سبتمبر 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> 

infix fun <T> Iterable<T>.intersect(
    other: Iterable<T>
): Set<T>

وجود الكلمة المفتاحية infix يدل على أنَّ هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً (راجع للمزيد من التفاصيل توثيق التدوين الداخلي للدوال (infix functions)).

المعاملات

other

كائن من النوع Iterable يراد البحث ضمنه عن عناصر مشتركة بينه وبين المصفوفة أو المجموعة المعطاة.

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

تُعاد مجموعة تحوي جميع العناصر المشتركة بين المصفوفتين أو المجموعتين المُعطَيتين.

أمثلة

مثالٌ على استعمال الدالة ()intersect:

fun main(args: Array<String>) {
    val iterable = listOf(1, 2, 3, 4, 5)
    val other1 = listOf(2, 3, 5, 2)
    val other2 = listOf(7, 8, 45, 67)

    val result1: Set<Int> = iterable.intersect(other1)
    println(result1) // [2, 3, 5]

    val result2: Set<Int> = iterable.intersect(other2)
    println(result2) // []
}

انظر أيضًا

  • الدالة count()‎: تعيد عدد عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها. يمكن تمرير دالة منطقية كمعامل إلى هذه الدالة لعد العناصر التي تحقق شرطًا معينًّا.
  • الدالة fill()‎: تبدِّل قيمة جديدة معطاة مكان عناصر محدَّدة في المصفوفة أو القائمة التي تستدعى معها.
  • الدالة contentDeepEquals()‎: تتحقق من تساوي مصفوفتين بالعُمق، أي أنَّهما تحتويان على نفس العناصر وبنفس الترتيب.
  • الدالة indexOf()‎: تجلب فهرس أول ظهور لعنصر محدَّد من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها.

مصادر