W3cubDocs

/Kotlin

eachCountTo

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

Platform and version requirements: Kotlin 1.1

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.

import kotlin.test.*

fun main(args: Array<String>) {
//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
}

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

© 2010–2018 JetBrains s.r.o.
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/each-count-to.html