الفرق بين المراجعتين ل"Kotlin/collections/toMap"
جميل-بيلوني (نقاش | مساهمات) ط (تعديل المثال.) |
|||
سطر 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> |
مراجعة 11:12، 29 أغسطس 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
}
انظر أيضًا
- الدالة
toBooleanArray()
: تحول المصفوفة العامة (أي من النوعArray<out Boolean>
) أو المجموعة التي استُدعيت معها إلى مصفوفة من القيم المنطقية (من النوعBooleanArray
). - الدالة
toByteArray()
: تحوِّل المصفوفة العامة (أي من النوعArray<Byte>
) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوعByteArray
. - الدالة
toCharArray()
: تحول المصفوفة العامة (أي التي من النوعArray<Char>
) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوعCharArray
. - الدالة
toCollection()
: تضيف جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها إلى المجموعة المتغيرة (MutableCollection) المُمرّرة إليها. - الدالة
toDoubleArray()
: تحول المصفوفة العامة (أي من النوعArray<Double>
) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوعDoubleArray
. - الدالة
toFloatArray()
: تحول المصفوفة العامة (أي من النوعArray<Float>
) أو المجموعة التي استُدعيت معها مصفوفة من النوعFloatArray
. - الدالة
toHashSet()
: تعيد كائنًا من النوعHashSet
لجميع عناصر المصفوفة أو المجموعة التي استُدعيت معها. - الدالة
toIntArray()
: تحول المصفوفة العامة (أي من النوعArray<Int>
) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوعIntArray
. - الدالة
toList()
: تحول المصفوفة أو المجموعة التكرارية أو الخريطة التي استُدعيت معها إلى قائمة. - الدالة
toLongArray()
: تحول المصفوفة العامة (أي من النوعArray<Long>
) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوعLongArray
.
- الدالة
toMutableList()
: تحول المصفوف أو المجموعة التي استُدعيت معها إلى قائمة متغيرة. - الدالة
toMutableSet()
: تحول المصفوفة أو المجموعة التكرارية التي استُدعيت معها إلى مجموعة من النوعMutableSet
. - الدالة
toSet()
: تحول المصفوفة أو المجموعة التكرارية التي استُدعيت معها إلى مجموعة من النوعSet
. - الدالة
toShortArray()
: تحول المصفوفة العامة (أي من النوعArray<Short>
) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوعShortArray
. - الدالة
toSortedSet()
: تحول المصفوفة أو المجموعة التكرارية التي استُدعيت معها إلى مجموعة من النوعSortedSet
ثمَّ تعيدها فقط إن لم يمرَّر إليها أي شيء، أو ترتِّبها وفقًا لترتيب معيَّن ثمَّ تعيدها إن مرِّرت إليها دالة مقارنة.