الدالة flatMapTo()‎ في Kotlin

من موسوعة حسوب


تعيد الدالة flatten()‎ قائمةً واحدة فقط تحوي جميع عناصر المصفوفات أو المجموعات المتشعبة ضمن المصفوفة أو المجموعة التي استُدعيت معها.

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

يمكن استدعاء الدالة flatten()‎ مع المصفوفات:

fun <T> Array<out Array<out T>>.flatten(): List<T>

ويمكن استدعاؤها مع المجموعات:

fun <T> Iterable<Iterable<T>>.flatten(): List<T>

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

تُعاد قائمة واحدة تحوي جميع عناصر المصفوفات أو المجموعات المتشعبة ضمن المصفوفة أو المجموعة المعطاة.

أمثلة

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

تعرِّف الشيفرة الآتية مصفوفة باسم deepArray باستخدام الدالة ()arrayOf، ثمَّ تستخدم الدالة ()flatten لإنشاء قائمة تضم جميع عناصر المصفوفات المتشعبة ضمن تلك المصفوفة:

fun main(args: Array<String>) {
    val deepArray = arrayOf(
        arrayOf(1),
        arrayOf(2, 3),
        arrayOf(4, 5, 6)
    )

    println(deepArray.flatten()) // [1, 2, 3, 4, 5, 6]
}

استخدام الدالة ()flatten مع اللوائح

تعرِّف الشيفرة الآتية قائمة باسم deepList باستخدام الدالة ()listOf، ثمَّ تستخدم الدالة ()flatten لإنشاء قائمة تضم جميع عناصر القوائم المتشعبة ضمن تلك القائمة:

fun main(args: Array<String>) {
    val deepList = listOf(listOf(1), listOf(2, 3), listOf(4, 5, 6))
    println(deepList.flatten()) // [1, 2, 3, 4, 5, 6]
}

انظر أيضًا

مصادر