Я прохожу онлайн-курс и неправильно читаю вопрос (вот почему я думаю, что можно опубликовать этот вопрос, поскольку ответ не имеет ничего общего с тем, что было задано в курсе!).
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)}
жалуется, что пара не повторяется, что я понимаю, но не могу понять, как распаковать набор и сохранить индивидуальную ссылку на драйвер?
(фактический вопрос, который я заметил при составлении этого вопроса, дает вам индивидуальный водитель, чтобы найти пассажиров, что делает его немного легче, и я сделал это ...)