在Kotlin中,可以使用groupBy函数来按照键的列表进行分组。下面是一个示例代码:
data class Person(val name: String, val age: Int)
fun main() {
val people = listOf(
Person("John", 25),
Person("Jane", 30),
Person("Mike", 25),
Person("Sarah", 30)
)
val groupedPeople = people.groupBy { it.age }
println(groupedPeople)
}
输出结果为:
{
25=[Person(name=John, age=25), Person(name=Mike, age=25)],
30=[Person(name=Jane, age=30), Person(name=Sarah, age=30)]
}
在上面的代码中,我们定义了一个Person数据类,它有一个name属性和一个age属性。然后,我们创建了一个包含四个Person对象的列表。
接下来,我们使用groupBy函数将列表中的Person对象按照age属性进行分组。groupBy函数接受一个lambda表达式,该lambda表达式定义了用于分组的键。在这个例子中,我们使用it.age作为键。
最后,我们打印输出了分组后的结果。每个键都对应一个包含具有该键的对象的列表。
请注意,groupBy函数返回一个Map对象,其中键是分组的键,值是包含具有该键的对象的列表。