Spec-Zone.ru › Kotlin 2

groupingBy

kotlin-stdlib/kotlin.sequences/groupingBy

Начиная с Kotlin: 1.1

inline fun <T, K> Sequence<T>.groupingBy(crossinline keySelector: (T) -> K): Grouping<T, K>

Создаёт источник Grouping на основе последовательности, который затем можно использовать с одной из операций группировки и свёртки. Для извлечения ключа из каждого элемента применяется указанная функция keySelector.

Операция является промежуточной и не сохраняет состояние.

Примеры


fun main() { 
   //sampleStart 
   val words = "one two three four five six seven eight nine ten".split(' ')
val frequenciesByFirstChar = words.groupingBy { it.first() }.eachCount()
println("Counting first letters:")
println(frequenciesByFirstChar) // {o=1, t=3, f=2, s=2, e=1, n=1}

val moreWords = "eleven twelve".split(' ')
val moreFrequencies = moreWords.groupingBy { it.first() }.eachCountTo(frequenciesByFirstChar.toMutableMap())
println(moreFrequencies) // {o=1, t=4, f=2, s=2, e=2, n=1} 
   //sampleEnd
}

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.sequences/grouping-by.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API