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

من موسوعة حسوب
طلا ملخص تعديل
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 2: سطر 2:
تحول الدالة <code>toMap()‎</code> الكائن المستدعى معها إلى خريطة أو تضيف محتوى ذلك الكائن إلى خريطة موجودة مسبقًا.
تحول الدالة <code>toMap()‎</code> الكائن المستدعى معها إلى خريطة أو تضيف محتوى ذلك الكائن إلى خريطة موجودة مسبقًا.
==البنية العامة==
==البنية العامة==
إن استدعيت الدالة <code>toMap()‎</code> مع [[Kotlin/Array|مصفوفة]] أو [[Kotlin/Iterable|مجموعة تكرارية]] أو [[Kotlin/Sequence|سلسلة]] مكونة من أزواج، فستعيد [[Kotlin/Map|خريطة]] تحوي كل تلك الأزواج؛ تحافظ [[Kotlin/Map|الخريطة]] المُعادة على نفس ترتيب تكرار الخريطة الأصلية:<syntaxhighlight lang="kotlin">
إن استدعيت الدالة <code>toMap()‎</code> مع [[Kotlin/Array|مصفوفة]] أو [[Kotlin/Iterable|مجموعة تكرارية]] أو [[Kotlin/Sequence|سلسلة]] مكونة من أزواج، فستعيد [[Kotlin/collections/Map|خريطة]] تحوي كل تلك الأزواج؛ تحافظ [[Kotlin/Map|الخريطة]] المُعادة على نفس ترتيب تكرار الخريطة الأصلية:<syntaxhighlight lang="kotlin">
fun <K, V> Iterable<Pair<K, V>>.toMap(): Map<K, V>  
fun <K, V> Iterable<Pair<K, V>>.toMap(): Map<K, V>  
fun <K, V> Array<out Pair<K, V>>.toMap(): Map<K, V>  
fun <K, V> Array<out Pair<K, V>>.toMap(): Map<K, V>  
سطر 8: سطر 8:




</syntaxhighlight>وإن استدعيت الدالة <code>toMap()‎</code> مع [[Kotlin/Array|مصفوفة]] أو [[Kotlin/Iterable|مجموعة تكرارية]] أو [[Kotlin/Sequence|سلسلة]] مكونة من أزواج ومع تمرير [[Kotlin/MutableMap|الخريطة المتغيرة]] <code>destination</code> كوسيط إليها، فستضيف تلك الأزواج إلى هذه الخريطة المعطاة ثم تعيدها:<syntaxhighlight lang="kotlin">
</syntaxhighlight>وإن استدعيت الدالة <code>toMap()‎</code> مع [[Kotlin/Array|مصفوفة]] أو [[Kotlin/Iterable|مجموعة تكرارية]] أو [[Kotlin/Sequence|سلسلة]] مكونة من أزواج ومع تمرير [[Kotlin/collections/MutableMap|الخريطة المتغيرة]] <code>destination</code> كوسيط إليها، فستضيف تلك الأزواج إلى هذه الخريطة المعطاة ثم تعيدها:<syntaxhighlight lang="kotlin">
fun <K, V, M : MutableMap<in K, in V>> Iterable<Pair<K, V>>.toMap(
fun <K, V, M : MutableMap<in K, in V>> Iterable<Pair<K, V>>.toMap(
     destination: M
     destination: M
سطر 18: سطر 18:
     destination: M
     destination: M
): M
): M
</syntaxhighlight>وإن استدعيت الدالة <code>toMap()‎</code> مع [[Kotlin/Map|خريطة]]، فستعيد [[Kotlin/Map|خريطة]] جديدة للقراء فقط (read-only) تحوي جميع أزواج الخريطة الأصلية المعطاة؛ تحافظ [[Kotlin/Map|الخريطة]] المُعادة على نفس ترتيب تكرار الخريطة الأصلية:<syntaxhighlight lang="kotlin">
</syntaxhighlight>وإن استدعيت الدالة <code>toMap()‎</code> مع [[Kotlin/Map|خريطة]]، فستعيد [[Kotlin/collections/Map|خريطة]] جديدة للقراء فقط (read-only) تحوي جميع أزواج الخريطة الأصلية المعطاة؛ تحافظ [[Kotlin/Map|الخريطة]] المُعادة على نفس ترتيب تكرار الخريطة الأصلية:<syntaxhighlight lang="kotlin">
fun <K, V> Map<out K, V>.toMap(): Map<K, V>  
fun <K, V> Map<out K, V>.toMap(): Map<K, V>  


</syntaxhighlight>أمَّا إن استدعيت الدالة <code>toMap()‎</code> مع [[Kotlin/Map|خريطة]] ومع تمرير [[Kotlin/MutableMap|الخريطة المتغيرة]] <code>destination</code> كوسيط إليها، فستضيف أزواج تلك الخريطة الأصلية إلى الخريطة <code>destinations</code> المعطاة ثم تعيدها.<syntaxhighlight lang="kotlin">
</syntaxhighlight>أمَّا إن استدعيت الدالة <code>toMap()‎</code> مع [[Kotlin/collections/Map|خريطة]] ومع تمرير [[Kotlin/collections/MutableMap|الخريطة المتغيرة]] <code>destination</code> كوسيط إليها، فستضيف أزواج تلك الخريطة الأصلية إلى الخريطة <code>destinations</code> المعطاة ثم تعيدها.<syntaxhighlight lang="kotlin">
fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.toMap(
fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.toMap(
     destination: M
     destination: M
سطر 34: سطر 34:


     println(array.toMap()) // {1=x, 2=y, 3=z}
     println(array.toMap()) // {1=x, 2=y, 3=z}
    println(array.toMap().javaClass.kotlin.qualifiedName) // java.util.LinkedHashMap
}
}
</syntaxhighlight>
</syntaxhighlight>
سطر 58: سطر 59:
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/to-map.html صفحة الدالة toMap()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/to-map.html صفحة الدالة toMap()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 11:46، 8 سبتمبر 2018

تحول الدالة toMap()‎ الكائن المستدعى معها إلى خريطة أو تضيف محتوى ذلك الكائن إلى خريطة موجودة مسبقًا.

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

إن استدعيت الدالة toMap()‎ مع مصفوفة أو مجموعة تكرارية أو سلسلة مكونة من أزواج، فستعيد خريطة تحوي كل تلك الأزواج؛ تحافظ الخريطة المُعادة على نفس ترتيب تكرار الخريطة الأصلية:

fun <K, V> Iterable<Pair<K, V>>.toMap(): Map<K, V> 
fun <K, V> Array<out Pair<K, V>>.toMap(): Map<K, V> 
fun <K, V> Sequence<Pair<K, V>>.toMap(): Map<K, V>

وإن استدعيت الدالة toMap()‎ مع مصفوفة أو مجموعة تكرارية أو سلسلة مكونة من أزواج ومع تمرير الخريطة المتغيرة destination كوسيط إليها، فستضيف تلك الأزواج إلى هذه الخريطة المعطاة ثم تعيدها:

fun <K, V, M : MutableMap<in K, in V>> Iterable<Pair<K, V>>.toMap(
    destination: M
): M
fun <K, V, M : MutableMap<in K, in V>> Array<out Pair<K, V>>.toMap(
    destination: M
): M
fun <K, V, M : MutableMap<in K, in V>> Sequence<Pair<K, V>>.toMap(
    destination: M
): M

وإن استدعيت الدالة toMap()‎ مع خريطة، فستعيد خريطة جديدة للقراء فقط (read-only) تحوي جميع أزواج الخريطة الأصلية المعطاة؛ تحافظ الخريطة المُعادة على نفس ترتيب تكرار الخريطة الأصلية:

fun <K, V> Map<out K, V>.toMap(): Map<K, V>

أمَّا إن استدعيت الدالة toMap()‎ مع خريطة ومع تمرير الخريطة المتغيرة destination كوسيط إليها، فستضيف أزواج تلك الخريطة الأصلية إلى الخريطة destinations المعطاة ثم تعيدها.

fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.toMap(
    destination: M
): M

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

تُعاد خريطة جديدة تحوي جميع محتويات الكائن المعطى إن لم يمرَّر الوسيط destinations، أو يُعاد الوسيط destination بعد إضافة محتويات الكائن المعطى إليه.

أمثلة

استعمال الدالة ()toMap لتحويل مصفوفة مكونة من أزواج إلى خريطة:

fun main(args: Array<String>) {
    val array = arrayOf(Pair(1, "x"), Pair(2, "y"), Pair(3, "z"))

    println(array.toMap()) // {1=x, 2=y, 3=z}
    println(array.toMap().javaClass.kotlin.qualifiedName) // java.util.LinkedHashMap
}

انظر أيضًا


مصادر