diff --git a/libraries/stdlib/common/src/generated/_Arrays.kt b/libraries/stdlib/common/src/generated/_Arrays.kt index f5b8461404c..4dc1211e0de 100644 --- a/libraries/stdlib/common/src/generated/_Arrays.kt +++ b/libraries/stdlib/common/src/generated/_Arrays.kt @@ -8668,7 +8668,7 @@ public inline fun >> CharArray.groupBy * Creates a [Grouping] source from an array to be used later with one of group-and-fold operations * using the specified [keySelector] function to extract a key from each element. * - * @sample samples.collections.Collections.Transformations.groupingByEachCount + * @sample samples.collections.Grouping.groupingByEachCount */ @SinceKotlin("1.1") public inline fun Array.groupingBy(crossinline keySelector: (T) -> K): Grouping { diff --git a/libraries/stdlib/common/src/generated/_Collections.kt b/libraries/stdlib/common/src/generated/_Collections.kt index 1ddef6f1c1f..45e8276c1a8 100644 --- a/libraries/stdlib/common/src/generated/_Collections.kt +++ b/libraries/stdlib/common/src/generated/_Collections.kt @@ -1270,7 +1270,7 @@ public inline fun >> Iterable.gr * Creates a [Grouping] source from a collection to be used later with one of group-and-fold operations * using the specified [keySelector] function to extract a key from each element. * - * @sample samples.collections.Collections.Transformations.groupingByEachCount + * @sample samples.collections.Grouping.groupingByEachCount */ @SinceKotlin("1.1") public inline fun Iterable.groupingBy(crossinline keySelector: (T) -> K): Grouping { diff --git a/libraries/stdlib/common/src/generated/_Sequences.kt b/libraries/stdlib/common/src/generated/_Sequences.kt index a16c75f7331..1b9c2137d2e 100644 --- a/libraries/stdlib/common/src/generated/_Sequences.kt +++ b/libraries/stdlib/common/src/generated/_Sequences.kt @@ -828,7 +828,7 @@ public inline fun >> Sequence.gr * * The operation is _intermediate_ and _stateless_. * - * @sample samples.collections.Collections.Transformations.groupingByEachCount + * @sample samples.collections.Grouping.groupingByEachCount */ @SinceKotlin("1.1") public inline fun Sequence.groupingBy(crossinline keySelector: (T) -> K): Grouping { diff --git a/libraries/stdlib/common/src/generated/_Strings.kt b/libraries/stdlib/common/src/generated/_Strings.kt index 26f6b1aa1f4..f8408db8420 100644 --- a/libraries/stdlib/common/src/generated/_Strings.kt +++ b/libraries/stdlib/common/src/generated/_Strings.kt @@ -805,7 +805,7 @@ public inline fun >> CharSequence.grou * Creates a [Grouping] source from a char sequence to be used later with one of group-and-fold operations * using the specified [keySelector] function to extract a key from each character. * - * @sample samples.collections.Collections.Transformations.groupingByEachCount + * @sample samples.collections.Grouping.groupingByEachCount */ @SinceKotlin("1.1") public inline fun CharSequence.groupingBy(crossinline keySelector: (Char) -> K): Grouping { diff --git a/libraries/stdlib/jvm/src/kotlin/collections/GroupingJVM.kt b/libraries/stdlib/jvm/src/kotlin/collections/GroupingJVM.kt index 8b492d61c4a..b1d7c5d8df0 100644 --- a/libraries/stdlib/jvm/src/kotlin/collections/GroupingJVM.kt +++ b/libraries/stdlib/jvm/src/kotlin/collections/GroupingJVM.kt @@ -14,7 +14,7 @@ package kotlin.collections * * @return a [Map] associating the key of each group with the count of elements in the group. * - * @sample samples.collections.Collections.Transformations.groupingByEachCount + * @sample samples.collections.Grouping.groupingByEachCount */ @SinceKotlin("1.1") public actual fun Grouping.eachCount(): Map = diff --git a/libraries/stdlib/samples/test/samples/collections/collections.kt b/libraries/stdlib/samples/test/samples/collections/collections.kt index a3e4c063f76..0739d273ded 100644 --- a/libraries/stdlib/samples/test/samples/collections/collections.kt +++ b/libraries/stdlib/samples/test/samples/collections/collections.kt @@ -369,17 +369,7 @@ class Collections { assertTrue(mutableNamesByTeam == namesByTeam) } - @Sample - fun groupingByEachCount() { - val words = "one two three four five six seven eight nine ten".split(' ') - val frequenciesByFirstChar = words.groupingBy { it.first() }.eachCount() - println("Counting first letters:") - assertPrints(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()) - assertPrints(moreFrequencies, "{o=1, t=4, f=2, s=2, e=2, n=1}") - } @Sample fun joinTo() { diff --git a/libraries/stdlib/samples/test/samples/collections/grouping.kt b/libraries/stdlib/samples/test/samples/collections/grouping.kt index f9e0acfb222..317b5fc14db 100644 --- a/libraries/stdlib/samples/test/samples/collections/grouping.kt +++ b/libraries/stdlib/samples/test/samples/collections/grouping.kt @@ -10,6 +10,20 @@ import java.util.stream.Collector import kotlin.test.* class Grouping { + + @Sample + fun groupingByEachCount() { + val words = "one two three four five six seven eight nine ten".split(' ') + val frequenciesByFirstChar = words.groupingBy { it.first() }.eachCount() + println("Counting first letters:") + assertPrints(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()) + assertPrints(moreFrequencies, "{o=1, t=4, f=2, s=2, e=2, n=1}") + } + + @Sample fun aggregateEvenAndOdd() { val intList = listOf(0, 1, 2, 3, 4, 5, 6) diff --git a/libraries/stdlib/src/kotlin/collections/Grouping.kt b/libraries/stdlib/src/kotlin/collections/Grouping.kt index ee7517b3e69..028de766169 100644 --- a/libraries/stdlib/src/kotlin/collections/Grouping.kt +++ b/libraries/stdlib/src/kotlin/collections/Grouping.kt @@ -250,7 +250,7 @@ public inline fun > Grouping.reduceTo * * @return the [destination] map associating the key of each group with the count of elements in the group. * - * @sample samples.collections.Collections.Transformations.groupingByEachCount + * @sample samples.collections.Grouping.groupingByEachCount */ @SinceKotlin("1.1") public fun > Grouping.eachCountTo(destination: M): M = diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt index 42ebd520bad..50a5872e12b 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt @@ -429,7 +429,7 @@ object Mapping : TemplateGroupBase() { using the specified [keySelector] function to extract a key from each ${f.element}. """ } - sample("samples.collections.Collections.Transformations.groupingByEachCount") + sample("samples.collections.Grouping.groupingByEachCount") body { """