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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>distinct()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>distinct()‎</code>عدد عناصر K...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة <code>distinct()‎</code> في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة <code>distinct()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة<code>distinct()‎</code>عدد عناصر  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] أو [[Kotlin/Array|القاموس]] التي استُدعيت عبرها، مع إمكانية تمرير دالة منطقية (<code>predicate</code>)  كمعامل (parameter)، وحينها ستعيد عدد العناصر التي تحقق الدالة المنطقية <code>predicate</code>.   
+
تعيد الدالة<code>distinct()‎</code> [[Kotlin/List|لائحة]] تحتوي عناصر  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت عبرها بدون تكرار مع احترام ظهور تلك العناصر في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]].   
  
==البنية العامة==
+
== البنية العامة ==
في حال استدعاء الدالة <code>count()‎</code> عبر  [[Kotlin/Array|مصفوفة]] دون تمرير أي معامل (parameter) فستعيد عدد عناصر تلك [[Kotlin/Array|المصفوفة]].<syntaxhighlight lang="kotlin">
+
استدعاء الدالة <code>count()‎</code> عبر  [[Kotlin/Array|مصفوفة]].<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.count(): Int
+
fun <T> Array<out T>.distinct(): List<T>
inline fun ByteArray.count(): Int
+
fun ByteArray.distinct(): List<Byte>
inline fun ShortArray.count(): Int
+
fun ShortArray.distinct(): List<Short>
inline fun IntArray.count(): Int  
+
fun IntArray.distinct(): List<Int>
inline fun LongArray.count(): Int
+
fun LongArray.distinct(): List<Long>
inline fun FloatArray.count(): Int
+
fun FloatArray.distinct(): List<Float>
inline fun DoubleArray.count(): Int
+
fun DoubleArray.distinct(): List<Double>
inline fun BooleanArray.count(): Int
+
fun BooleanArray.distinct(): List<Boolean>
inline fun CharArray.count(): Int
+
fun CharArray.distinct(): List<Char>
 
</syntaxhighlight>
 
</syntaxhighlight>
  
في حال استدعاء الدالة <code>count()‎</code>  مع تمرير دالة منطقية (<code>predicate</code>)  كمعامل (parameter) فستعيد عدد العناصر التي تحقق الدالة المنطقية <code>predicate</code>.<syntaxhighlight lang="kotlin">
+
في حال استدعاء الدالة <code>count()‎</code> عبر  [[Kotlin/collections|مجموعة]].<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.count(
+
fun <T> Iterable<T>.distinct(): List<T>  
    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|مجموعة]] دون تمرير أي معامل (parameter) فستعيد عدد عناصر تلك [[Kotlin/Array|المجموعة]].<syntaxhighlight lang="kotlin">
 
fun <T> Iterable<T>.count(): Int
 
inline fun <T> Collection<T>.count(): Int
 
</syntaxhighlight>في حال استدعاء الدالة <code>count()‎</code> عبر  [[Kotlin/Map|قاموس]] دون تمرير أي معامل (parameter) فستعيد عدد عناصر ذلك [[Kotlin/Array|القاموس]].<syntaxhighlight lang="kotlin">
 
inline fun <K, V> Map<out K, V>.count(): Int
 
</syntaxhighlight>في حال استدعاء الدالة <code>count()‎</code> عبر  [[Kotlin/Map|قاموس]] مع تمرير دالة منطقية (<code>predicate</code>)  كمعامل (parameter) فستعيد عدد المداخل (entries) التي تحقق الدالة المنطقية <code>predicate</code>.
 
  
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
+
</syntaxhighlight>
  
 
== القيم المعادة ==
 
== القيم المعادة ==
عدد عناصر  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] أو [[Kotlin/Array|القاموس]] التي استُدعيت عبرها، مع إمكانية تمرير دالة منطقية (<code>predicate</code>)  كمعامل (parameter)، وحينها ستعيد عدد العناصر التي تحقق الدالة المنطقية <code>predicate</code>.
+
 
 +
[[Kotlin/List|لائحة]] تحتوي عناصر  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت عبرها بدون تكرار مع احترام ظهور تلك العناصر في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]].
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>()distinct</code> مع المصفوفات  ===
 
===استخدام الدالة <code>()distinct</code> مع المصفوفات  ===
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()count</code> للحصول على عدد عناصر تلك [[Kotlin/Array|المصفوفة]] ثم تطبع الناتج:<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,4,5,2,6,22)
println(array.count()) // 4
+
println(array.distinct()) // [1, 2, 3, 4, 5, 6, 22]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
===ستخدام الدالة <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">
 
fun main(args: Array<String>) {
 
val array = arrayOf(1,2,3,4)
 
val predicate: (Int) -> Boolean = { it < 3}
 
println(array.count(predicate)) // 2
 
}
 
</syntaxhighlight>
 
==انظر أيضًا==
 
 
* صفحة [[Kotlin/Array|المصفوفات]] (Arrays).
 
* صفحة [[Kotlin/Array|المصفوفات]] (Arrays).
* صفحة [[Kotlin/Array|المجموعات]] (Collections)
+
* صفحة [[Kotlin/Array|المجموعات]] (Collections).
 +
 
 +
* <code>[[Kotlin/collections/count|count()]]</code>‎: تعيد عدد عناصر  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] أو [[Kotlin/Array|القاموس]] التي استُدعيت عبرها.
  
 
==مصادر==
 
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/count.html الدالة  distinct()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/distinct.html الدالة  distinct()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Functions]]
 
[[تصنيف:Kotlin Functions]]

مراجعة 17:00، 13 مايو 2018

تعيد الدالةdistinct()‎ لائحة تحتوي عناصر المصفوفة أو المجموعة التي استُدعيت عبرها بدون تكرار مع احترام ظهور تلك العناصر في المصفوفة أو المجموعة.

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

استدعاء الدالة count()‎ عبر مصفوفة.

fun <T> Array<out T>.distinct(): List<T> 
fun ByteArray.distinct(): List<Byte> 
fun ShortArray.distinct(): List<Short> 
fun IntArray.distinct(): List<Int> 
fun LongArray.distinct(): List<Long> 
fun FloatArray.distinct(): List<Float> 
fun DoubleArray.distinct(): List<Double> 
fun BooleanArray.distinct(): List<Boolean> 
fun CharArray.distinct(): List<Char>

في حال استدعاء الدالة count()‎ عبر مجموعة.

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

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

لائحة تحتوي عناصر المصفوفة أو المجموعة التي استُدعيت عبرها بدون تكرار مع احترام ظهور تلك العناصر في المصفوفة أو المجموعة.

أمثلة

استخدام الدالة ()distinct مع المصفوفات

تعرف الشيفرة الآتية مصفوفة باسم arrayمكونة من تسعة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()count للحصول على لائحة تضم العناصر غير المكررة لتلك المصفوفة ثم تطبع الناتج:

fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4,4,5,2,6,22)
println(array.distinct()) // [1, 2, 3, 4, 5, 6, 22]
}

انظر أيضًا

مصادر