الفرق بين المراجعتين لصفحة: «Kotlin/collections/flatten»

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة وتدقيق.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>flatten()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>flatten()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>flatten()‎</code> [[Kotlin/collections/List|لائحة]] تحتوي جميع عناصر [[Kotlin/Array|المصفوفات]] أو [[Kotlin/collections|المجموعات]] التي تنتمي إلى [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها.  
تعيد الدالة <code>flatten()‎</code> قائمة واحدة تحوي جميع عناصر [[Kotlin/Array|المصفوفات]] أو [[Kotlin/collections|المجموعات]] المتشعبة ضمن [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها.  
==البنية العامة==
==البنية العامة==
يمكن استدعاء الدالة<code>flatten()‎</code> على [[Kotlin/Array|المصفوفات]].<syntaxhighlight lang="kotlin">
يمكن استدعاء الدالة <code>flatten()‎</code> مع [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
fun <T> Array<out Array<out T>>.flatten(): List<T>  
fun <T> Array<out Array<out T>>.flatten(): List<T>  


</syntaxhighlight>يمكن استدعاء الدالة<code>flatten()‎</code> على [[Kotlin/Array|المجموعات]].<syntaxhighlight lang="kotlin">
</syntaxhighlight>ويمكن استدعاؤها مع [[Kotlin/Array|المجموعات]]:<syntaxhighlight lang="kotlin">
fun <T> Iterable<Iterable<T>>.flatten(): List<T>  
fun <T> Iterable<Iterable<T>>.flatten(): List<T>  


</syntaxhighlight>
</syntaxhighlight>
==القيم المٌعادة==
==القيم المٌعادة==
[[Kotlin/collections/List|لائحة]] تحتوي جميع عناصر [[Kotlin/Array|المصفوفات]] أو [[Kotlin/collections|المجموعات]] التي تنتمي إلى [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها.  
تُعاد قائمة واحدة تحوي جميع عناصر [[Kotlin/Array|المصفوفات]] أو [[Kotlin/collections|المجموعات]] المتشعبة ضمن [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة.  
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()flatten</code> مع المصفوفات===
===استخدام الدالة <code>()flatten</code> مع المصفوفات===
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>deepArray</code>مكونة من ثلاثة مصفوفات باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()flatten</code> لإنشاء [[Kotlin/collections/List|لائحة]] تضم جميع عناصر  [[Kotlin/Array|المصفوفات]] المُنتمية إلى <code>deepArray</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>deepArray</code> باستخدام الدالة <code>()arrayOf</code>، ثمَّ تستخدم الدالة <code>()flatten</code> لوضع جميع عناصر المصفوفات المتشعبة ضمن تلك المصفوفة في قائمة واحدة:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val deepArray = arrayOf(
    val deepArray = arrayOf(
    arrayOf(1),
        arrayOf(1),
    arrayOf(2, 3),
        arrayOf(2, 3),
    arrayOf(4, 5, 6)
        arrayOf(4, 5, 6)
)
    )


println(deepArray.flatten()) // [1, 2, 3, 4, 5, 6]
    println(deepArray.flatten()) // [1, 2, 3, 4, 5, 6]
}
}
</syntaxhighlight>
</syntaxhighlight>
===استخدام الدالة <code>()flatten</code> مع اللوائح===
===استخدام الدالة <code>()flatten</code> مع اللوائح===
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|لائحة]]<nowiki/> باسم <code>deepList</code>مكونة من ثلاثة [[Kotlin/Array|لوائح]] باستخدام الدالة <code>()listOf</code>، ثم تستخدم الدالة <code>()flatten</code> لإنشاء [[Kotlin/collections/List|لائحة]] تضم جميع عناصر  [[Kotlin/Array|اللوائح]] المُنتميةإلى <code>deepList</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية قائمة<nowiki/><nowiki/> باسم <code>deepList</code> باستخدام الدالة <code>()listOf</code> ثمَّ تستخدم الدالة <code>()flatten</code> لوضع جميع عناصر القوائم المتشعبة ضمن تلك القائمة في قائمة واحدة:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val deepList = listOf(listOf(1), listOf(2, 3), listOf(4, 5, 6))
    val deepList = listOf(listOf(1), listOf(2, 3), listOf(4, 5, 6))
println(deepList.flatten()) // [1, 2, 3, 4, 5, 6]
    println(deepList.flatten()) // [1, 2, 3, 4, 5, 6]
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*<code>[[Kotlin/collections/find|find()]]</code>: تعيد العنصر الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك  أي عنصر يحقق ذلك فستعيد <code>null.</code>
*الدالة <code>[[Kotlin/collections/contentDeepEquals|contentDeepEquals()]]</code>: تتحقق من تساوي مصفوفتين بالعُمق، أي أنهما تحتويان على نفس العناصر وبنفس الترتيب.
*<code>[[Kotlin/collections/findLast|findLast()]]</code>‎: تعيد العنصر الأخير من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك  أي عنصر يحقق ذلك فستعيد <code>null.</code>
* الدالة <code>[[Kotlin/collections/flatMap|flatMap()]]</code>‎: تعيد قائمةً تضم ناتج تطبيق الدالة <code>transform()‎</code> المُمرّرة إليها على عناصر <nowiki/>[[Kotlin/Array|المصفوفة]]، أو <nowiki/>[[Kotlin/collections|المجموعة]]، أو الخريطة التي استُدعيت معها.
==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/flatten.html الدالة  flatten()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/flatten.html الدالة  flatten()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 12:31، 23 يوليو 2018

تعيد الدالة 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]
}

انظر أيضًا

  • الدالة contentDeepEquals()‎: تتحقق من تساوي مصفوفتين بالعُمق، أي أنهما تحتويان على نفس العناصر وبنفس الترتيب.
  • الدالة flatMap()‎: تعيد قائمةً تضم ناتج تطبيق الدالة transform()‎ المُمرّرة إليها على عناصر المصفوفة، أو المجموعة، أو الخريطة التي استُدعيت معها.

مصادر