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

من موسوعة حسوب
ط استبدال النص - 'Kotlin Functions' ب'Kotlin Function'
طلا ملخص تعديل
 
سطر 1: سطر 1:
<nowiki/><noinclude>{{DISPLAYTITLE: الدالة <code>count()‎</code> في Kotlin}}</noinclude>
<nowiki/><noinclude>{{DISPLAYTITLE: الدالة <code>count()‎</code> في Kotlin}}</noinclude>تعيد الدالة <code>count()‎</code> عدد جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/Map|الخريطة]] التي استُدعيت معها أو العناصر التي تحقق شرطًا معينًا.
تعيد الدالة <code>count()‎</code> عدد عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/Map|الخريطة]] التي استُدعيت معها. يمكن تمرير دالة منطقية كمعامل إلى هذه الدالة لعد العناصر التي تحقق شرطًا معينًّا.
==البنية العامة==
==البنية العامة==
إن استدعيت الدالة <code>count()‎</code> مع [[Kotlin/Array|مصفوفة]] دون تمرير أي معامل، فستعيد عدد عناصر هذه [[Kotlin/Array|المصفوفة]].<syntaxhighlight lang="kotlin">
إن استدعيت الدالة <code>count()‎</code> مع [[Kotlin/Array|مصفوفة]] دون تمرير أي معامل، فستعيد عدد عناصر هذه [[Kotlin/Array|المصفوفة]].<syntaxhighlight lang="kotlin">
سطر 45: سطر 44:
): Int (source)
): Int (source)
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).
== المعاملات ==
=== <code>predicate</code> ===
دالة يراد تطبيقها على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/Map|الخريطة]] المعطاة. يمرر إليها العنصر وتعيد القيمة المنطقية المقابلة له.
==القيم المعادة==
==القيم المعادة==
يُعاد عدد جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/Map|الخريطة]] التي استُدعيت معها إن لم يعطَ أي معامل، أو عدد العناصر التي تحقق شرطًا معينًّا إن مرَّرت الدالة <code>predicate</code>.
يُعاد عدد جميع عناصر [[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">
تعرِّف الشيفرة الآتية [[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
}
</syntaxhighlight>
===استخدام الدالة <code>()count</code> لعد عناصر محدّدة===
تعرِّف الشيفرة الآتية [[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)
سطر 64: سطر 60:
     }
     }


    println(array.count()) // 4
     println(array.count(predicate)) // 2
     println(array.count(predicate)) // 2
}
}
سطر 76: سطر 73:
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 07:40، 8 سبتمبر 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

دالة يراد تطبيقها على كل عنصر من عناصر المصفوفة أو المجموعة أو الخريطة المعطاة. يمرر إليها العنصر وتعيد القيمة المنطقية المقابلة له.

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

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

أمثلة

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

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

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

انظر أيضًا

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

مصادر