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

من موسوعة حسوب
لا ملخص تعديل
طلا ملخص تعديل
 
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 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/><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> مع القوائم:<syntaxhighlight lang="kotlin">
===استخدام الدالة <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">
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 Function]]
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 08:06، 8 سبتمبر 2018

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

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

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

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

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

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

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

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

أمثلة

استخدام الدالة ()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 مع القوائم:

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()‎ المُمرّرة إليها على عناصر المصفوفة، أو المجموعة، أو الخريطة التي استُدعيت معها.

مصادر