الدالة CharSequence.groupingBy()
في Kotlin
< Kotlin | kotlin.text
تُنشئ الدالة groupingBy()
موردًا (source) من النوع Grouping
من سلسلة المحارف التي استُدعيت معها لاستخدامه لاحقًا مع عمليات التجميع (group-and-fold operations) وذلك باستخدام الدالة keySelector
المُمرّرة إليها لاستخلاص مفتاح من كل محرف.
البنية العامة
inline fun <K> CharSequence.groupingBy(
crossinline keySelector: (Char) -> K
): Grouping<Char, K>
الإصدار المطلوب: kotlin 1.1.
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).
المعاملات
keySelector
الدالة المستعملة في استخلاص مفتاح من كل محرف.
القيم المعادة
يُعاد موردٌ من النوع Grouping
من المصفوفة أو المجموعة المعطاة لاستخدامه لاحقًا مع عمليات التجميع (group-and-fold).
أمثلة
مثالٌ على استعمال الدالة ()groupingBy
:
fun main(args: Array<String>) {
val str = "abcdsafddssfghjjffhgggfeeregtgggfgddghhgfdqdgdg"
val grouping = str.groupingBy { it.toByte() }.eachCount()
print(grouping)
}
ناتج تنفيذ هذا المثال هو:
{97=2, 98=1, 99=1, 100=8, 115=3, 102=7, 103=13, 104=4, 106=2, 101=3, 114=1, 116=1, 113=1}
انظر أيضًا
- الدالة
groupBy()
: تجمِّع محارف السلسلة التي استُدعيت معها في مجموعات، إذ تطبق دالة محدَّدة على كل عنصر ثمَّ تعاد خريطة تحوي مجموعاتٍ مفتاحُ كلِّ واحدةٍ منها مرتبطٌ بقائمة من المحارف المقابلة.