الفرق بين المراجعتين لصفحة: «Kotlin/collections/distinctBy»
< Kotlin | collections
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(5 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>distinctBy()</code> في | <noinclude>{{DISPLAYTITLE: الدالة <code>distinctBy()</code> في Kotlin}}</noinclude> | ||
تعيد الدالة<code>distinctBy()</code> [[Kotlin/List| | تعيد الدالة <code>distinctBy()</code> [[Kotlin/List|قائمة]] تحتوي على العناصر الموجودة في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت معها والتي تعطي نتيجة مختلفة عند تطبيق الدالة <code>selector</code> عليها فقط. تُرتَّب العناصر في القائمة الناتجة بنفس ترتيبها في المصفوفة أو المجموعة الأصليَّة. | ||
== البنية العامة == | == البنية العامة == | ||
تستدعى الدالة <code>distinctBy()</code> مع [[Kotlin/Array|مصفوفة]]:<syntaxhighlight lang="kotlin"> | |||
inline fun <T, K> Array<out T>.distinctBy( | inline fun <T, K> Array<out T>.distinctBy( | ||
selector: (T) -> K | selector: (T) -> K | ||
سطر 34: | سطر 34: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
وستستدعى مع [[Kotlin/collections|مجموعة]]:<syntaxhighlight lang="kotlin"> | |||
inline fun <T, K> Iterable<T>.distinctBy( | inline fun <T, K> Iterable<T>.distinctBy( | ||
selector: (T) -> K | selector: (T) -> K | ||
): List<T> | ): List<T> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== المعاملات == | |||
=== <code>selector</code> === | |||
الدالة المراد تطبيقها على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] المعطاة. | |||
== القيم المعادة == | == القيم المعادة == | ||
[[Kotlin/List| | تُعاد [[Kotlin/List|قائمة]] تحتوي فقط على العناصر التي تعطي نتيجة مختلفة عند تطبيق الدالة <code>selector</code> عليها والموجودة في المصفوفة أو المجموعة المعطاة. | ||
==أمثلة== | ==أمثلة== | ||
مثالٌ على استعمال الدالة <code>()distinctBy</code>:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val array = arrayOf(1,2,3,4,4,5,2,6,22) | val array = arrayOf(1, 2, 3, 4, 4, 5, 2, 6, 22) | ||
val | val selector1: (Int) -> Int = { it + 10 } | ||
val selector2: (Int) -> Int = { it * 0 } | |||
} | |||
println(array.distinctBy(selector1)) // [1, 2, 3, 4, 5, 6, 22] | |||
println(array.distinctBy(selector2)) // [1] | |||
println(array.distinctBy( | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا == | ==انظر أيضًا == | ||
* <code>[[Kotlin/collections/distinct|distinct()]]</code>: | * الدالة <code>[[Kotlin/collections/distinct|distinct()]]</code>: تحذف العناصر المتكررة الموجودة في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها وتعيد الناتج في قائمة. | ||
* <code>[[Kotlin/collections/count|count()]]</code>: تعيد عدد عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] أو [[Kotlin/Array|القاموس]] التي استُدعيت | * الدالة <code>[[Kotlin/collections/drop|drop()]]</code>: تعيد [[Kotlin/List|قائمة]] تحوي جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت معها باستثناء أول <code>n</code> عنصر. | ||
* الدالة <code>[[Kotlin/collections/elementAt|elementAt()]]</code>: تعيد العنصر الموجود عند فهرس معين في <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت معها. | |||
* الدالة <code>[[Kotlin/collections/count|count()]]</code>: تعيد عدد عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] أو [[Kotlin/Array|القاموس]] التي استُدعيت معها. | |||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/distinct-by.html الدالة | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/distinct-by.html صفحة الدالة distinctBy() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Collection]] |
المراجعة الحالية بتاريخ 07:43، 8 سبتمبر 2018
تعيد الدالة distinctBy()
قائمة تحتوي على العناصر الموجودة في المصفوفة أو المجموعة التي استُدعيت معها والتي تعطي نتيجة مختلفة عند تطبيق الدالة selector
عليها فقط. تُرتَّب العناصر في القائمة الناتجة بنفس ترتيبها في المصفوفة أو المجموعة الأصليَّة.
البنية العامة
تستدعى الدالة distinctBy()
مع مصفوفة:
inline fun <T, K> Array<out T>.distinctBy(
selector: (T) -> K
): List<T>
inline fun <K> ByteArray.distinctBy(
selector: (Byte) -> K
): List<Byte>
inline fun <K> ShortArray.distinctBy(
selector: (Short) -> K
): List<Short>
inline fun <K> IntArray.distinctBy(
selector: (Int) -> K
): List<Int>
inline fun <K> LongArray.distinctBy(
selector: (Long) -> K
): List<Long>
inline fun <K> FloatArray.distinctBy(
selector: (Float) -> K
): List<Float>
inline fun <K> DoubleArray.distinctBy(
selector: (Double) -> K
): List<Double>
inline fun <K> BooleanArray.distinctBy(
selector: (Boolean) -> K
): List<Boolean>
inline fun <K> CharArray.distinctBy(
selector: (Char) -> K
): List<Char>
وستستدعى مع مجموعة:
inline fun <T, K> Iterable<T>.distinctBy(
selector: (T) -> K
): List<T>
المعاملات
selector
الدالة المراد تطبيقها على كل عنصر من عناصر المصفوفة أو المجموعة المعطاة.
القيم المعادة
تُعاد قائمة تحتوي فقط على العناصر التي تعطي نتيجة مختلفة عند تطبيق الدالة selector
عليها والموجودة في المصفوفة أو المجموعة المعطاة.
أمثلة
مثالٌ على استعمال الدالة ()distinctBy
:
fun main(args: Array<String>) {
val array = arrayOf(1, 2, 3, 4, 4, 5, 2, 6, 22)
val selector1: (Int) -> Int = { it + 10 }
val selector2: (Int) -> Int = { it * 0 }
println(array.distinctBy(selector1)) // [1, 2, 3, 4, 5, 6, 22]
println(array.distinctBy(selector2)) // [1]
}
انظر أيضًا
- الدالة
distinct()
: تحذف العناصر المتكررة الموجودة في المصفوفة أو المجموعة التي استُدعيت معها وتعيد الناتج في قائمة. - الدالة
drop()
: تعيد قائمة تحوي جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها باستثناء أولn
عنصر. - الدالة
elementAt()
: تعيد العنصر الموجود عند فهرس معين في المصفوفة أو المجموعة التي استُدعيت معها. - الدالة
count()
: تعيد عدد عناصر المصفوفة أو المجموعة أو القاموس التي استُدعيت معها.