الفرق بين المراجعتين لصفحة: «Kotlin/collections/associateTo»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>associateTo()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>associateTo()</code> في لغة Kotlin}}</noinclude> | ||
تعيد الدالة <code> | تعيد الدالة <code>associateTo()</code> قاموسًا متغيرا (mutable map) يحتوي ناتج تمرير عناصر المصفوفة أو المجموعة (<code>[[Kotlin/collections|Collection]]</code>) إلى الدالة <code>transform</code>. | ||
ان كان لعنصرين نفس المفتاح (key) | ان كان لعنصرين نفس المفتاح (key) فإن الأخير هو الذي سيُضاف إلى القاموس. | ||
==البنية العامة== | ==البنية العامة== | ||
في حال استدعاء الدالة <code> | في حال استدعاء الدالة <code>associateTo()</code>عبر مصفوفة فستعيد القاموس المتغير <code>destination</code> وأزواجه توفرها الدالة <code>transform()</code> مُطبقةً على عناصر المصفوفة:<syntaxhighlight lang="kotlin"> | ||
inline fun <T, K, V, M : MutableMap<in K, in V>> Array<out T>.associateTo( | inline fun <T, K, V, M : MutableMap<in K, in V>> Array<out T>.associateTo( | ||
destination: M, | destination: M, | ||
سطر 43: | سطر 43: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
في حال استدعاء الدالة <code> | في حال استدعاء الدالة <code>associateTo()</code>عبر مجموعة (<code>[[Kotlin/collections|Collection]]</code>) فستعيد القاموس المتغير <code>destination</code> وأزواجه توفرها الدالة <code>keySelector()</code> مُطبقةً على عناصر المجموعة:<syntaxhighlight lang="kotlin"> | ||
inline fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateTo( | inline fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateTo( | ||
destination: M, | destination: M, | ||
سطر 52: | سطر 52: | ||
قاموس. (انظر شرح الدالة أعلاه لمزيد من التفاصيل) | قاموس. (انظر شرح الدالة أعلاه لمزيد من التفاصيل) | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>() | ===استخدام الدالة <code>()associateTo</code> مع اللوائح === | ||
تعرف الشيفرة الآتية لائحة باسم <code>list</code> مكونة من أربعة أعداد باستخدام الدالة <code>()listOf</code>، ثم تنشئ قاموسًا متغيرًا باسم <code>map</code> بتمرير الدالة <code>()func</code> (التي | تعرف الشيفرة الآتية لائحة باسم <code>list</code> مكونة من أربعة أعداد باستخدام الدالة <code>()listOf</code>، ثم تنشئ قاموسًا متغيرًا باسم <code>map</code> بتمرير الدالة <code>()func</code> (التي تحول عددًا إلى زوج) إلى<code>()associateTo</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val list = listOf(1,2,3,4) | val list = listOf(1,2,3,4) | ||
val map = mutableMapOf<Int, Int>() | val map = mutableMapOf<Int, Int>() | ||
val func: (Int) -> Int = {it*4} | val func: (Int) -> Pair<Int,Int> = {Pair(it + 10,it * 4)} | ||
list.associateTo(map,func) | |||
println(map) // {11=4, 12=8, 13=12, 14=16} | |||
println(map) // {4 | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
*<code>[[Kotlin/collections/associateByTo|associateByTo()]]</code>: تعيد قاموسًا (map). | |||
*<code>[[Kotlin/collections/associateBy|associateBy()]]</code>: تعيد قاموسًا (map). | *<code>[[Kotlin/collections/associateBy|associateBy()]]</code>: تعيد قاموسًا (map). | ||
*<code>[[Kotlin/collections/associate|associate()]]</code>: تعيد قاموسًا (map). | *<code>[[Kotlin/collections/associate|associate()]]</code>: تعيد قاموسًا (map). | ||
سطر 85: | سطر 72: | ||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/associate | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/associate-to.html الدالة associateTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 14:15، 11 مايو 2018
تعيد الدالة associateTo()
قاموسًا متغيرا (mutable map) يحتوي ناتج تمرير عناصر المصفوفة أو المجموعة (Collection
) إلى الدالة transform
.
ان كان لعنصرين نفس المفتاح (key) فإن الأخير هو الذي سيُضاف إلى القاموس.
البنية العامة
في حال استدعاء الدالة associateTo()
عبر مصفوفة فستعيد القاموس المتغير destination
وأزواجه توفرها الدالة transform()
مُطبقةً على عناصر المصفوفة:
inline fun <T, K, V, M : MutableMap<in K, in V>> Array<out T>.associateTo(
destination: M,
transform: (T) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> ByteArray.associateTo(
destination: M,
transform: (Byte) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> ShortArray.associateTo(
destination: M,
transform: (Short) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> IntArray.associateTo(
destination: M,
transform: (Int) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> LongArray.associateTo(
destination: M,
transform: (Long) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> FloatArray.associateTo(
destination: M,
transform: (Float) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> DoubleArray.associateTo(
destination: M,
transform: (Double) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> BooleanArray.associateTo(
destination: M,
transform: (Boolean) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> CharArray.associateTo(
destination: M,
transform: (Char) -> Pair<K, V>
): M
في حال استدعاء الدالة associateTo()
عبر مجموعة (Collection
) فستعيد القاموس المتغير destination
وأزواجه توفرها الدالة keySelector()
مُطبقةً على عناصر المجموعة:
inline fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateTo(
destination: M,
transform: (T) -> Pair<K, V>
): M
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المعادة
قاموس. (انظر شرح الدالة أعلاه لمزيد من التفاصيل)
أمثلة
استخدام الدالة ()associateTo
مع اللوائح
تعرف الشيفرة الآتية لائحة باسم list
مكونة من أربعة أعداد باستخدام الدالة ()listOf
، ثم تنشئ قاموسًا متغيرًا باسم map
بتمرير الدالة ()func
(التي تحول عددًا إلى زوج) إلى()associateTo
ثم تطبع الناتج:
fun main(args: Array<String>) {
val list = listOf(1,2,3,4)
val map = mutableMapOf<Int, Int>()
val func: (Int) -> Pair<Int,Int> = {Pair(it + 10,it * 4)}
list.associateTo(map,func)
println(map) // {11=4, 12=8, 13=12, 14=16}
}
انظر أيضًا
associateByTo()
: تعيد قاموسًا (map).associateBy()
: تعيد قاموسًا (map).associate()
: تعيد قاموسًا (map).asList()
: تعيد لائحة والتي تُغلّف المصفوفة الاصلية.
asIterable()
: تُنشئ نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثلfor
).