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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>toMap()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>toMap()‎</code> لائحة...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة <code>toMap()‎</code> في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة <code>toMap()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة<code>toMap()‎</code> [[Kotlin/List|لائحة]] تضم جميع عناصر [[Kotlin/Array|المصفوفة]]   أو [[Kotlin/Iterable|المجموعة التكرارية]]  التي استُدعيت عبرها. وفي حال استدعاء الدالة<code>toList()‎</code> عبر [[Kotlin/Map|قاموس]] فستعيد [[Kotlin/List|لائحة]] تضم جميع الأزواج مفتاح/قيمة المنتمية إليه.
+
تعيد الدالة<code>toMap()‎</code>  [[Kotlin/Map|قاموسًا]] بحسب نوع إمضاء الدالة (انظر فقرة البنية العامة من أجل التفاصيل).
 
==البنية العامة==
 
==البنية العامة==
يمكن استدعاء الدالة<code>toMap()‎</code> عبر [[Kotlin/Array|المصفوفات]]   أو  [[Kotlin/Iterable|المجموعات التكرارية]]:<syntaxhighlight lang="kotlin">
+
<syntaxhighlight lang="kotlin">
fun <T> Array<out T>.toList(): List<T>
+
fun <K, V> Iterable<Pair<K, V>>.toMap(): Map<K, V>
fun ByteArray.toList(): List<Byte>  
+
fun <K, V> Array<out Pair<K, V>>.toMap(): Map<K, V>
fun ShortArray.toList(): List<Short>
+
fun <K, V> Sequence<Pair<K, V>>.toMap(): Map<K, V>
fun IntArray.toList(): List<Int>  
+
 
fun LongArray.toList(): List<Long>
+
 
fun FloatArray.toList(): List<Float>  
+
</syntaxhighlight>في حال استدعاء الدالة <code>toMap()‎</code> عبر [[Kotlin/Array|مصفوفة]]   أو  [[Kotlin/Iterable|مجموعة تكرارية]] أو [[Kotlin/Sequence|سلسلة]] مكونة من أزواج فستعيد [[Kotlin/Map|قاموسًا]] يضم كل تلك الأزواج، [[Kotlin/Map|القاموس]] يحافظ على ترتيب التكرار الأصلي. <syntaxhighlight lang="kotlin">
fun DoubleArray.toList(): List<Double>  
+
fun <K, V, M : MutableMap<in K, in V>> Iterable<Pair<K, V>>.toMap(
fun BooleanArray.toList(): List<Boolean>  
+
    destination: M
fun CharArray.toList(): List<Char>
+
): M
fun <T> Iterable<T>.toList(): List<T>  
+
fun <K, V, M : MutableMap<in K, in V>> Array<out Pair<K, V>>.toMap(
</syntaxhighlight>يمكن استدعاء الدالة<code>toMap()‎</code>  عبر [[Kotlin/Map|القواميس]]:<syntaxhighlight lang="kotlin">
+
    destination: M
fun <K, V> Map<out K, V>.toList(): List<Pair<K, V>>
+
): M
 +
fun <K, V, M : MutableMap<in K, in V>> Sequence<Pair<K, V>>.toMap(
 +
    destination: M
 +
): M
 +
</syntaxhighlight>في حال استدعاء الدالة <code>toMap()</code> عبر [[Kotlin/Array|مصفوفة]]   أو  [[Kotlin/Iterable|مجموعة تكرارية]] أو [[Kotlin/Sequence|سلسلة]] مكونة من أزواج مع تمرير [[Kotlin/MutableMap|قاموس متغير]]  كوسيط فستملأ [[Kotlin/Map|القاموس]] المُمرّر بتلك الأزواج.<syntaxhighlight lang="kotlin">
 +
fun <K, V> Map<out K, V>.toMap(): Map<K, V>  
 +
 
 +
</syntaxhighlight>في حال استدعاء الدالة <code>toMap()‎</code> عبر [[Kotlin/Map|قاموس]]  فستعيد [[Kotlin/Map|قاموسًا]] للقراء فقط (read-only) يضم كل الأزواج الموجودة في [[Kotlin/Map|القاموس]].
 +
 
 +
[[Kotlin/Map|القاموس]] يحافظ على ترتيب التكرار الأصلي. <syntaxhighlight lang="kotlin">
 +
fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.toMap(
 +
    destination: M
 +
): M
 +
</syntaxhighlight>في حال استدعاء الدالة <code>toMap()‎</code> عبر [[Kotlin/Map|قاموس]] مع تمرير [[Kotlin/MutableMap|قاموس متغير]]  كوسيط فستملأ [[Kotlin/Map|القاموس]] المُمرّر بالأزواج الموجودة في [[Kotlin/Map|القاموس]].
  
</syntaxhighlight>
 
 
==القيمة المُعادة==
 
==القيمة المُعادة==
[[Kotlin/List|لائحة]] تضم جميع عناصر [[Kotlin/Array|المصفوفة]]   أو  [[Kotlin/Iterable|المجموعة التكرارية]]  التي استُدعيت عبرها. وفي حال استدعاء الدالة<code>toList()‎</code> عبر [[Kotlin/Map|قاموس]] فستعيد [[Kotlin/List|لائحة]] تضم جميع الأزواج مفتاح/قيمة المنتمية إليه.
+
[[Kotlin/Map|قاموس]] جديد. (انظر فقرة البنية العامة لأجل التفاصيل)
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>()toMap</code> مع المصفوفات===
 
===استخدام الدالة <code>()toMap</code> مع المصفوفات===
تعرّف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>  مكونة من ثلاثة أعداد باستخدام الدالة <code>()arrayOf‎</code>، ثم تستخدم الدالة<code>()toMap</code> على <code>array</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تعرّف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>  مكونة من ثلاثة أزواج باستخدام الدالة <code>()arrayOf‎</code>، ثم تستخدم الدالة<code>()toMap</code> على <code>array</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val array = arrayOf(4, 5, 6)
+
val array = arrayOf(Pair(1, "x"), Pair(2, "y"), Pair(3, "z"))
  
println(array.toList()) // [4, 5, 6]
+
println(array.toMap()) // {1=x, 2=y, 3=z}
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
سطر 32: سطر 44:
 
*<code>[[Kotlin/collections/toByteArray|toByteArray()]]</code>‎ : تعيد <nowiki/>[[Kotlin/Array|مصفوفة]] من النوع <code>ByteArray</code>تضم جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة العامة]] (أي من النوع <code>Array<Byte>‎</code>) أو <nowiki/>[[Kotlin/collections|المجموعة]]  التي استُدعيت عبرها.
 
*<code>[[Kotlin/collections/toByteArray|toByteArray()]]</code>‎ : تعيد <nowiki/>[[Kotlin/Array|مصفوفة]] من النوع <code>ByteArray</code>تضم جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة العامة]] (أي من النوع <code>Array<Byte>‎</code>) أو <nowiki/>[[Kotlin/collections|المجموعة]]  التي استُدعيت عبرها.
 
*<code>[[Kotlin/collections/toDoubleArray|toDoubleArray()]]</code>‎ : تعيد [[Kotlin/Array|مصفوفة]] من  النوع <code>DoubleArray</code>تضم جميع عناصر [[Kotlin/Array|المصفوفة العامة]] (أي من النوع <code>Array<Double>‎</code>) أو  [[Kotlin/collections|المجموعة]]  التي استُدعيت عبرها.
 
*<code>[[Kotlin/collections/toDoubleArray|toDoubleArray()]]</code>‎ : تعيد [[Kotlin/Array|مصفوفة]] من  النوع <code>DoubleArray</code>تضم جميع عناصر [[Kotlin/Array|المصفوفة العامة]] (أي من النوع <code>Array<Double>‎</code>) أو  [[Kotlin/collections|المجموعة]]  التي استُدعيت عبرها.
 +
*<code>[[Kotlin/collections/toList|toList()]]</code>‎ : تعيد لائحة تضم جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]]  أو المجموعة التكرارية  التي استُدعيت عبرها. وفي حال استدعاء الدالة <code>toList()‎</code>  عبر قاموس فستعيد لائحة تضم جميع الأزواج مفتاح/قيمة المنتمية إليه.
 
==مصادر==
 
==مصادر==
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/to-int-array.html الدالة  toMap()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/to-map.html الدالة  toMap()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Functions]]
 
[[تصنيف:Kotlin Functions]]

مراجعة 09:20، 24 يونيو 2018

تعيد الدالة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()‎ عبر مصفوفة  أو مجموعة تكرارية أو سلسلة مكونة من أزواج فستعيد قاموسًا يضم كل تلك الأزواج، القاموس يحافظ على ترتيب التكرار الأصلي.

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()‎ عبر مصفوفة  أو مجموعة تكرارية أو سلسلة مكونة من أزواج مع تمرير قاموس متغير كوسيط فستملأ القاموس المُمرّر بتلك الأزواج.

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

في حال استدعاء الدالة toMap()‎ عبر قاموس فستعيد قاموسًا للقراء فقط (read-only) يضم كل الأزواج الموجودة في القاموس. القاموس يحافظ على ترتيب التكرار الأصلي.

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

في حال استدعاء الدالة toMap()‎ عبر قاموس مع تمرير قاموس متغير كوسيط فستملأ القاموس المُمرّر بالأزواج الموجودة في القاموس.

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

قاموس جديد. (انظر فقرة البنية العامة لأجل التفاصيل)

أمثلة

استخدام الدالة ()toMap مع المصفوفات

تعرّف الشيفرة الآتية  مصفوفة باسم array  مكونة من ثلاثة أزواج باستخدام الدالة ()arrayOf‎، ثم تستخدم الدالة()toMap على array، ثم تطبع الناتج:

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}
}

أنظر أيضًا

مصادر