gpt4 book ai didi

kotlin - flatmap 键列表和集合到对列表中

转载 作者:行者123 更新时间:2023-12-02 13:14:05 25 4
gpt4 key购买 nike

我正在做一个在线类(class)并误读了一个问题(这就是为什么我认为可以发布这个问题,因为答案与类(class)中的问题无关!)。

data class Trip(
val driver: Driver,
val passengers: Set<Passenger>,
...
)

val trips: List<Trip>

所以它最终会像
[
driver1 : passenger1
driver1 : passenger2
driver2 : passenger1
driver2 : passenger3
...
]

我想要做的是创建一个司机和乘客的所有实例的列表,可能是成对的,我只是想不出该怎么做。
trips.map {t -> Pair (t.driver, t.passengers)} 

给我一些那里的东西,但显然让我留下了一组乘客而不是司机:解包的乘客对。我无法获得平面图的语法,所以
 trips.flatMap {t -> Pair (t.driver, t.passengers)} 

提示这对是不可迭代的,我理解但我无法理解如何解包并保持与驱动程序的单独链接?

(我在撰写此问题时注意到的实际问题为您提供了一个单独的司机来寻找乘客,这使得它变得相当容易,我已经做到了......)

最佳答案

因此,对于每次旅行,您都需要驾驶员/乘客的每种组合,然后您需要所有这些的列表?如果是这样,会这样做吗?

trips.flatMap { trip -> 
trip.passengers.map { passenger ->
Pair(trip.driver, passenger)
}
}

这会给你一个 List<Pair<Driver, Passenger>> ,如果这就是你要找的?它可能包含重复项,因此您可能希望以某种方式处理它。

关于kotlin - flatmap 键列表和集合到对列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53188907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com