在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
对象,其中键是分组的键,值是包含具有该键的对象的列表。