الدالة associateBy()
في لغة Kotlin
تُنشئ الدالة associateBy()
نسخة من الواجهة Sequence
والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل for
).
البنية العامة
في حال استدعاء الدالة associateBy()
عبر مصفوفة فستعيد نسخة من الواجهة Sequence
والتي تُغلّف المصفوفة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل for
):
fun <T> Array<out T>.asSequence(): Sequence<T>
fun ByteArray.asSequence(): Sequence<Byte>
fun ShortArray.asSequence(): Sequence<Short>
fun IntArray.asSequence(): Sequence<Int>
fun LongArray.asSequence(): Sequence<Long>
fun FloatArray.asSequence(): Sequence<Float>
fun DoubleArray.asSequence(): Sequence<Double>
fun BooleanArray.asSequence(): Sequence<Boolean>
fun CharArray.asSequence(): Sequence<Char>
يمكن استدعاء الدالة asSequence()
عبر مجموعة (Collection) وستعيد نسخة من الواجهة Sequence
والتي تُغلّف المجموعة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل for
):
fun <T> Iterable<T>.asSequence(): Sequence<T>
يمكن استدعاء الدالة asSequence()
عبر قاموس (Map) وستعيد نسخة من الواجهة Sequence
والتي تُغلّف القاموس الذي استُدعيت عبره وتعيد مداخله (entries) عندما تُستخدم في حلقات التكرار (مثل for
):
fun <K, V> Map<out K, V>.asSequence(): Sequence<Entry<K, V>>
القيم المعادة
نسخة من الواجهة Sequence
. (انظر شرح الدالة أعلاه لمزيد من التفاصيل)
أمثلة
استخدام الدالة ()associateBy
مع المصفوفات
تعرف الشيفرة الآتية مصفوفة باسم array
مكونة من ثلاثة أحرف باستخدام الدالة ()arrayOf
، ثم تنشئ نسخة من النوع Sequence
باسم sequence
باستخدام الدالة ()asSequence
ثم تضم عناصر sequence
عبر الدالة joinToString()
ثم تطبع الناتج:
fun main(args: Array<String>) {
val array = arrayOf('a', 'b', 'c')
val sequence = array.asSequence()
println(sequence.joinToString()) // a, b, c
}
استخدام الدالة ()associateBy
مع اللوائح
تعرف الشيفرة الآتية لائحة باسم collection
مكونة من ثلاثة أحرف باستخدام الدالة ()listOf
، ثم تنشئ نسخة من النوع Sequence
باسم sequence
باستخدام الدالة ()asSequence
ثم تضم عناصر sequence
عبر الدالة joinToString()
ثم تطبع الناتج:
fun main(args: Array<String>) {
val collection = listOf('a', 'b', 'c')
val sequence = collection.asSequence()
println(sequence.joinToString()) // a, b, c
}
انظر أيضًا
asList()
: تعيد لائحة والتي تُغلّف المصفوفة الاصلية.
asIterable()
: تُنشئ نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثلfor
).
مصادر