Functional programming 如何从对象集合中提取地图,用键作为其中一个对象的同一字段和实际对象的值

Functional programming 如何从对象集合中提取地图,用键作为其中一个对象的同一字段和实际对象的值,functional-programming,kotlin,Functional Programming,Kotlin,我有一个这样的结构: data class LocationRSSIEvent( val idRSSIEvent: Long = 0, val identifier: Identifier, val rssi: Int, val timestampRSSIEvent: Long) : LocationEvent() fun getRSSIMultimap(rssiEvents: Collection<LocationRSSIEvent>): Map&

我有一个这样的结构:

data class LocationRSSIEvent(
    val idRSSIEvent: Long = 0,
    val identifier: Identifier,
    val rssi: Int,
    val timestampRSSIEvent: Long) : LocationEvent()
fun getRSSIMultimap(rssiEvents: Collection<LocationRSSIEvent>): Map<Identifier, List<LocationRSSIEvent>>
我希望能够使用Kotlin中的某些函数获得如下结果:

data class LocationRSSIEvent(
    val idRSSIEvent: Long = 0,
    val identifier: Identifier,
    val rssi: Int,
    val timestampRSSIEvent: Long) : LocationEvent()
fun getRSSIMultimap(rssiEvents: Collection<LocationRSSIEvent>): Map<Identifier, List<LocationRSSIEvent>>
fun getRSSIMultimap(rssiEvents:Collection):映射
例如,我有一个LocationRSSIEvent列表,但其中的每个LocationRSSIEvent可以包含不同的标识符对象。我希望能够将具有相同标识符的LocationRSSIEvents提取到将包含标识符作为此映射键的映射,以及具有相同标识符作为值的LocationRSSIEvents的列表


我希望一切都很清楚,有没有一种简单的方法可以做到这一点?

似乎您只是在从标准库中寻找方法:

rssiEvents.groupBy { it.identifier }