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

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة وتدقيق.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>count()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة <code>count()‎</code> عدد عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/Map|الخريطة]] التي استُدعيت معها. يمكن تمرير دالة منطقية كمعامل إلى هذه الدالة لعد العناصر التي تحقق شرطًا معينًّا.
تعيد الدالة<code>count()‎</code>عدد عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] أو [[Kotlin/Array|القاموس]] التي استُدعيت عبرها، مع إمكانية تمرير دالة منطقية (<code>predicate</code>)  كمعامل (parameter)، وحينها ستعيد عدد العناصر التي تحقق الدالة المنطقية <code>predicate</code>.
 
==البنية العامة==
==البنية العامة==
في حال استدعاء الدالة <code>count()‎</code> عبر  [[Kotlin/Array|مصفوفة]] دون تمرير أي معامل (parameter) فستعيد عدد عناصر تلك [[Kotlin/Array|المصفوفة]].<syntaxhighlight lang="kotlin">
إن استدعيت الدالة <code>count()‎</code> مع [[Kotlin/Array|مصفوفة]] دون تمرير أي معامل، فستعيد عدد عناصر هذه [[Kotlin/Array|المصفوفة]].<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.count(): Int  
inline fun <T> Array<out T>.count(): Int  
inline fun ByteArray.count(): Int  
inline fun ByteArray.count(): Int  
سطر 13: سطر 11:
inline fun BooleanArray.count(): Int  
inline fun BooleanArray.count(): Int  
inline fun CharArray.count(): Int
inline fun CharArray.count(): Int
</syntaxhighlight>
</syntaxhighlight>وإن استدعيت مع تمرير الدالة <code>predicate</code> المنطقيَّة إليها، فستعيد عدد العناصر التي تحقِّق هذه الدالة.<syntaxhighlight lang="kotlin">
 
في حال استدعاء الدالة <code>count()‎</code>  مع تمرير دالة منطقية (<code>predicate</code>)  كمعامل (parameter) فستعيد عدد العناصر التي تحقق الدالة المنطقية <code>predicate</code>.<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.count(
inline fun <T> Array<out T>.count(
     predicate: (T) -> Boolean
     predicate: (T) -> Boolean
سطر 38: سطر 34:
     predicate: (T) -> Boolean
     predicate: (T) -> Boolean
): Int  
): Int  
</syntaxhighlight>في حال استدعاء الدالة <code>count()‎</code> عبر  [[Kotlin/collections|مجموعة]] دون تمرير أي معامل (parameter) فستعيد عدد عناصر تلك [[Kotlin/Array|المجموعة]].<syntaxhighlight lang="kotlin">
</syntaxhighlight>إن استدعيت الدالة <code>count()‎</code> مع [[Kotlin/collections|مجموعة]] دون تمرير أي معامل، فستعيد عدد عناصر تلك [[Kotlin/Array|المجموعة]].<syntaxhighlight lang="kotlin">
fun <T> Iterable<T>.count(): Int  
fun <T> Iterable<T>.count(): Int  
inline fun <T> Collection<T>.count(): Int  
inline fun <T> Collection<T>.count(): Int  
</syntaxhighlight>في حال استدعاء الدالة <code>count()‎</code> عبر  [[Kotlin/Map|قاموس]] دون تمرير أي معامل (parameter) فستعيد عدد عناصر ذلك [[Kotlin/Array|القاموس]].<syntaxhighlight lang="kotlin">
</syntaxhighlight>وفي حال استدعيت مع [[Kotlin/Map|خريطة]] (map) دون تمرير أي معامل، فستعيد عدد أزواج تلك [[Kotlin/Map|الخريطة]].<syntaxhighlight lang="kotlin">
inline fun <K, V> Map<out K, V>.count(): Int  
inline fun <K, V> Map<out K, V>.count(): Int  
</syntaxhighlight>في حال استدعاء الدالة <code>count()‎</code> عبر  [[Kotlin/Map|قاموس]] مع تمرير دالة منطقية (<code>predicate</code>)  كمعامل (parameter) فستعيد عدد المداخل (entries) التي تحقق الدالة المنطقية <code>predicate</code>.
</syntaxhighlight>إن استدعيت الدالة <code>count()‎</code> مع [[Kotlin/Map|خريطة]] ومُرِّرت الدالة <code>predicate</code> إليها، فستعيد عدد الأزواج التي تحقِّق الدالة <code>predicate</code> المعطاة.<syntaxhighlight lang="kotlin">
 
inline fun <K, V> Map<out K, V>.count(
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
    predicate: (Entry<K, V>) -> Boolean
): Int (source)
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).
==القيم المعادة==
يُعاد عدد جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/Map|الخريطة]] التي استُدعيت معها إن لم يعطَ أي معامل، أو عدد العناصر التي تحقق شرطًا معينًّا إن مرَّرت الدالة <code>predicate</code>.
==أمثلة==
===استخدام الدالة <code>()count</code> لعد جميع العناصر===
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code> ثم تستخدم الدالة <code>()count</code> لمعرفة على عدد عناصرها:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
    val array = arrayOf(1,2,3,4)


== القيم المعادة ==
    println(array.count()) // 4
عدد عناصر  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] أو [[Kotlin/Array|القاموس]] التي استُدعيت عبرها، مع إمكانية تمرير دالة منطقية (<code>predicate</code>)  كمعامل (parameter)، وحينها ستعيد عدد العناصر التي تحقق الدالة المنطقية <code>predicate</code>.
==أمثلة==
===استخدام الدالة <code>()count</code> مع المصفوفات  ===
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()count</code> للحصول على عدد عناصر تلك [[Kotlin/Array|المصفوفة]] ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4)
println(array.count()) // 4
}
}
</syntaxhighlight>
</syntaxhighlight>
===ستخدام الدالة <code>()count</code> مع المصفوفات مع تمرير دالة منطقية كمعامل  ===
===استخدام الدالة <code>()count</code> لعد عناصر محدّدة===
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()count</code> للحصول على عدد عناصر تلك [[Kotlin/Array|المصفوفة]] الأصغر من <code>3</code> عبر تمرير الدالة المنطقية <code>predicate</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code> ثم تستخدم الدالة <code>()count</code> لعد العناصر الأصغر من العدد 3:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4)
    val array = arrayOf(1,2,3,4)
val predicate: (Int) -> Boolean = { it < 3}
    val predicate: (Int) -> Boolean = { it < 3}
println(array.count(predicate)) // 2
 
    println(array.count(predicate)) // 2
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* صفحة [[Kotlin/Array|المصفوفات]] (Arrays).
*الخاصيّة <code>[[Kotlin/Array/size|size‎]]</code>: تمثِّل عدد العناصر الموجودة في المصفوفة (array).
* صفحة [[Kotlin/Array|المجموعات]] (Collections)
*الدالة <code>[[Kotlin/collections/copyOf|copyOf()]]</code>‎: تنسخ الدالة كامل المصفوفة التي استُدعيت معها أو جزءًا منها. 
 
*الخاصية <code>[[Kotlin/collections/lastIndex|lastIndex]]</code>: تجلب الفهرس (index) العنصر الأخير في المصفوفة أو القائمة.
==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/count.html الدالة  count()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/count.html الدالة count()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]<noinclude>{{DISPLAYTITLE: الدالة <code>count()‎</code> في لغة Kotlin}}</noinclude>
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 09:53، 4 يوليو 2018

تعيد الدالة count()‎ عدد عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها. يمكن تمرير دالة منطقية كمعامل إلى هذه الدالة لعد العناصر التي تحقق شرطًا معينًّا.

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

إن استدعيت الدالة count()‎ مع مصفوفة دون تمرير أي معامل، فستعيد عدد عناصر هذه المصفوفة.

inline fun <T> Array<out T>.count(): Int 
inline fun ByteArray.count(): Int 
inline fun ShortArray.count(): Int 
inline fun IntArray.count(): Int 
inline fun LongArray.count(): Int 
inline fun FloatArray.count(): Int 
inline fun DoubleArray.count(): Int 
inline fun BooleanArray.count(): Int 
inline fun CharArray.count(): Int

وإن استدعيت مع تمرير الدالة predicate المنطقيَّة إليها، فستعيد عدد العناصر التي تحقِّق هذه الدالة.

inline fun <T> Array<out T>.count(
    predicate: (T) -> Boolean
): Int 
inline fun ByteArray.count(predicate: (Byte) -> Boolean): Int (source)
inline fun ShortArray.count(
    predicate: (Short) -> Boolean
): Int 
inline fun IntArray.count(predicate: (Int) -> Boolean): Int (source)
inline fun LongArray.count(predicate: (Long) -> Boolean): Int (source)
inline fun FloatArray.count(
    predicate: (Float) -> Boolean
): Int 
inline fun DoubleArray.count(
    predicate: (Double) -> Boolean
): Int 
inline fun BooleanArray.count(
    predicate: (Boolean) -> Boolean
): Int
inline fun CharArray.count(predicate: (Char) -> Boolean): Int (source)
inline fun <T> Iterable<T>.count(
    predicate: (T) -> Boolean
): Int

إن استدعيت الدالة count()‎ مع مجموعة دون تمرير أي معامل، فستعيد عدد عناصر تلك المجموعة.

fun <T> Iterable<T>.count(): Int 
inline fun <T> Collection<T>.count(): Int

وفي حال استدعيت مع خريطة (map) دون تمرير أي معامل، فستعيد عدد أزواج تلك الخريطة.

inline fun <K, V> Map<out K, V>.count(): Int

إن استدعيت الدالة count()‎ مع خريطة ومُرِّرت الدالة predicate إليها، فستعيد عدد الأزواج التي تحقِّق الدالة predicate المعطاة.

inline fun <K, V> Map<out K, V>.count(
    predicate: (Entry<K, V>) -> Boolean
): Int (source)

وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع توثيق الدوال المباشرة).

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

يُعاد عدد جميع عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها إن لم يعطَ أي معامل، أو عدد العناصر التي تحقق شرطًا معينًّا إن مرَّرت الدالة predicate.

أمثلة

استخدام الدالة ()count لعد جميع العناصر

تعرِّف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثم تستخدم الدالة ()count لمعرفة على عدد عناصرها:

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

    println(array.count()) // 4
}

استخدام الدالة ()count لعد عناصر محدّدة

تعرِّف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثم تستخدم الدالة ()count لعد العناصر الأصغر من العدد 3:

fun main(args: Array<String>) {
    val array = arrayOf(1,2,3,4)
    val predicate: (Int) -> Boolean = { it < 3}

    println(array.count(predicate)) // 2
}

انظر أيضًا

  • الخاصيّة size‎: تمثِّل عدد العناصر الموجودة في المصفوفة (array).
  • الدالة copyOf()‎: تنسخ الدالة كامل المصفوفة التي استُدعيت معها أو جزءًا منها. 
  • الخاصية lastIndex: تجلب الفهرس (index) العنصر الأخير في المصفوفة أو القائمة.

مصادر