eachCountTo

fun <T, K, M : MutableMap<in K, Int>> Grouping<T, K>.eachCountTo(destination: M): M(source)

Groups elements from the Grouping source by key and counts elements in each group to the given destination map.

If the destination map already has a value corresponding to the key of some group, that value is used as an initial value of the counter for that group.

Since Kotlin

1.1

Return

the destination map associating the key of each group with the count of elements in the group.

Samples


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
}