Grouping collections
Kotlin's collection framework allows you to group collections based on your requirements. For example, if you have a list of strings and want to group them with respect to their size, you can easily do that with the help of the groupBy
function, which groups a collection based on the logic provided and returns Map
with that group of collections.
So, the following is a short example:
fun main(args: Array<String>) { val list = 1.rangeTo(50).toList() println(list.groupBy { it%5 }) }
So, what we did here is as follows: we created a list of Int
containing numbers from 1
to 50
(both inclusive) then, we tried to group them based on their remnants when divided by 5
.
So, there should be five groups, from 0
to 5
, and each of them should contain 10 numbers. Let's check the following output to see if that happened or not:
So, the groupBy
function just worked as expected and returned Map<Int,List<Int>>
that contained the grouped list.