الفرق بين المراجعتين ل"Kotlin/collections/count"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط
 
(7 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<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/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(
 +
    predicate: (Entry<K, V>) -> Boolean
 +
): Int (source)
 +
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).
 +
 
 +
== المعاملات ==
  
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
+
=== <code>predicate</code> ===
 +
دالة يراد تطبيقها على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/Map|الخريطة]] المعطاة. يمرر إليها العنصر وتعيد القيمة المنطقية المقابلة له.
  
== القيم المعادة ==
+
==القيم المعادة==
عدد عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] أو [[Kotlin/Array|القاموس]] التي استُدعيت عبرها، مع إمكانية تمرير دالة منطقية (<code>predicate</code>)  كمعامل (parameter)، وحينها ستعيد عدد العناصر التي تحقق الدالة المنطقية <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> للحصول على عدد عناصر تلك [[Kotlin/Array|المصفوفة]] ثم تطبع الناتج:<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 = {  
println(array.count()) // 4
+
        it < 3
}
+
    }
</syntaxhighlight>
+
 
===ستخدام الدالة <code>()count</code> مع المصفوفات مع تمرير دالة منطقية كمعامل  ===
+
    println(array.count()) // 4
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()count</code> للحصول على عدد عناصر تلك [[Kotlin/Array|المصفوفة]] الأصغر من <code>3</code> عبر تمرير الدالة المنطقية <code>predicate</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
    println(array.count(predicate)) // 2
fun main(args: Array<String>) {
 
val array = arrayOf(1,2,3,4)
 
val predicate: (Int) -> Boolean = { it < 3}
 
println(array.count(predicate)) // 2
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
* صفحة [[Kotlin/Array|المصفوفات]] (Arrays).
+
*الخاصيّة <code>[[Kotlin/Array/size|size‎]]</code>: تمثِّل عدد العناصر الموجودة في المصفوفة (array).
* صفحة [[Kotlin/Array|المجموعات]] (Collections)
+
*الخاصية <code>[[Kotlin/collections/lastIndex|lastIndex]]</code>: تجلب فهرس (index) العنصر الأخير في المصفوفة أو القائمة.
 
+
*الدالة <code>[[Kotlin/collections/copyOf|copyOf()]]</code>‎: تنسخ الدالة كامل المصفوفة التي استُدعيت معها أو جزءًا منها. 
 +
*الدالة <code>[[Kotlin/collections/elementAt|elementAt()‎]]</code>: تعيد العنصر الموجود عند فهرس معين في <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت معها.
 
==مصادر==
 
==مصادر==
*[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.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
+
[[تصنيف: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()‎: تعيد العنصر الموجود عند فهرس معين في المصفوفة أو المجموعة التي استُدعيت معها.

مصادر