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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>count()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>count()‎</code>تمثيلًا نصيًا ل...'
 
طلا ملخص تعديل
 
(8 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 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/List|لائحة]].
 
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
إن استدعيت الدالة <code>count()‎</code> مع [[Kotlin/Array|مصفوفة]] دون تمرير أي معامل، فستعيد عدد عناصر هذه [[Kotlin/Array|المصفوفة]].<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.contentToString(): String
inline fun <T> Array<out T>.count(): Int
inline fun ByteArray.contentToString(): String
inline fun ByteArray.count(): Int
inline fun ShortArray.contentToString(): String
inline fun ShortArray.count(): Int
inline fun IntArray.contentToString(): String
inline fun IntArray.count(): Int
inline fun LongArray.contentToString(): String
inline fun LongArray.count(): Int
inline fun FloatArray.contentToString(): String
inline fun FloatArray.count(): Int
inline fun DoubleArray.contentToString(): String
inline fun DoubleArray.count(): Int
inline fun BooleanArray.contentToString(): String
inline fun BooleanArray.count(): Int
inline fun CharArray.contentToString(): String
inline fun CharArray.count(): Int
</syntaxhighlight>وإن استدعيت مع تمرير الدالة <code>predicate</code> المنطقيَّة إليها، فستعيد عدد العناصر التي تحقِّق هذه الدالة.<syntaxhighlight lang="kotlin">
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
</syntaxhighlight>إن استدعيت الدالة <code>count()‎</code> مع [[Kotlin/collections|مجموعة]] دون تمرير أي معامل، فستعيد عدد عناصر تلك [[Kotlin/Array|المجموعة]].<syntaxhighlight lang="kotlin">
fun <T> Iterable<T>.count(): Int
inline fun <T> Collection<T>.count(): Int
</syntaxhighlight>وفي حال استدعيت مع [[Kotlin/Map|خريطة]] (map) دون تمرير أي معامل، فستعيد عدد أزواج تلك [[Kotlin/Map|الخريطة]].<syntaxhighlight lang="kotlin">
inline fun <K, V> Map<out K, V>.count(): Int
</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|توثيق الدوال المباشرة]]).


</syntaxhighlight>
== المعاملات ==


<u>'''الإصدار المطلوب: Kotlin 1.1'''</u>
=== <code>predicate</code> ===
دالة يراد تطبيقها على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/Map|الخريطة]] المعطاة. يمرر إليها العنصر وتعيد القيمة المنطقية المقابلة له.


يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
==القيم المعادة==
 
يُعاد عدد جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/Map|الخريطة]] التي استُدعيت معها إن لم يعطَ أي معامل، أو عدد العناصر التي تحقق شرطًا معينًّا إن مرَّرت الدالة <code>predicate</code>.
== القيم المعادة ==
تمثيل نصي ([[Kotlin/String|String]]) لمحتوى [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت [[Kotlin/List|لائحة]].
==أمثلة==
==أمثلة==
===استخدام الدالة <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("apples", "oranges", "lime")
    val array = arrayOf(1, 2, 3, 4)
    val predicate: (Int) -> Boolean = {
        it < 3
    }


println(array.contentToString()) // [apples, oranges, lime]
    println(array.count()) // 4
    println(array.count(predicate)) // 2
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* <code>contentDeepToString()</code>: تعيد تمثيلًا نصيًا استنادًا إلى محتوى <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت لائحة، <nowiki/>[[Kotlin/Array|المصفوفات]] المُتشعبة تعامل كاللوائح هي كذلك.
*الخاصيّة <code>[[Kotlin/Array/size|size‎]]</code>: تمثِّل عدد العناصر الموجودة في المصفوفة (array).
 
*الخاصية <code>[[Kotlin/collections/lastIndex|lastIndex]]</code>: تجلب فهرس (index) العنصر الأخير في المصفوفة أو القائمة.
*<code>[[Kotlin/collections/contentHashCode|contentHashCode()]]</code>: تعيد التكويد (hash code) استنادًا إلى محتوى [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت [[Kotlin/List|لائحة]].  
*الدالة <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/content-to-string.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()‎: تعيد العنصر الموجود عند فهرس معين في المصفوفة أو المجموعة التي استُدعيت معها.

مصادر