Kotlin flatmap将键和集的列表映射到成对列表中
我正在上一门在线课程,并且误读了一个问题(这就是为什么我认为发布这个问题是可以的,因为答案与课程上的问题无关!) 我想做的是创建一个司机和乘客的所有实例的列表,可能是成对的,我只是不知道怎么做Kotlin flatmap将键和集的列表映射到成对列表中,kotlin,Kotlin,我正在上一门在线课程,并且误读了一个问题(这就是为什么我认为发布这个问题是可以的,因为答案与课程上的问题无关!) 我想做的是创建一个司机和乘客的所有实例的列表,可能是成对的,我只是不知道怎么做 trips.map {t -> Pair (t.driver, t.passengers)} 给我弄到了一些东西,但显然留给我的是一组乘客,而不是司机:没有包装的乘客对。我找不到平面图的语法所以 trips.flatMap {t -> Pair (t.driver, t.passenge
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)
}
}
这会给你一个
列表
,如果这是你想要的?它可能包含重复项,因此您可能希望以某种方式处理该问题。我需要一些时间才能弄清楚这一点(我在地图->平面地图路线上走得更远,我想这意味着我还没有完全掌握lambda的真正意义……是的,我意识到了这些被骗者,我以为我在寻找所有不止一次使用过任何司机的乘客,所以我会进一步处理这个列表,但后来意识到我只是在寻找一个特定的重复乘客。)c驱动程序…是的,函数式编程需要一段时间的思考。如果你运气不好,请在这里发表评论,询问更多信息,我会用更详细的解释更新我的答案。祝你好运。
trips.flatMap {t -> Pair (t.driver, t.passengers)}
trips.flatMap { trip ->
trip.passengers.map { passenger ->
Pair(trip.driver, passenger)
}
}