我有这样的结构:
data class LocationRSSIEvent(
val idRSSIEvent: Long = 0,
val identifier: Identifier,
val rssi: Int,
val timestampRSSIEvent: Long) : LocationEvent()
我希望能够在Kotlin中使用某些功能来获得如下结果:
fun getRSSIMultimap(rssiEvents: Collection<LocationRSSIEvent>): Map<Identifier, List<LocationRSSIEvent>>
因此,例如,我有一个LocationRSSIEvents列表,但是其中的每个LocationRSSIEvent可以包含不同的Identifier对象。我希望能够提取具有与该标识符相同的Map的LocationRSSIEvent的LocationRSSIEvent,以及包含与值相同的Identifier的那些LocationRSSIEvent的列表。
我希望一切都清楚了,有没有简单的方法可以做到这一点?
最佳答案
似乎您只是从标准库中寻找 groupBy
方法:
rssiEvents.groupBy { it.identifier }
关于functional-programming - 如何从对象集合中提取Map,以键作为对象同一字段之一,并为实际对象赋值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47240309/