我有两个列表:
List<Flight> flightsToCity = findFlightToCity(airport);
List<Flight> flightsFromCity = findFlightFromCity(airport);
列表的元素是航类。我必须将 FlightsToCity 列表中的每个航类与第二个列表中的每个元素连接起来,并且必须是成对的。我必须对流执行此操作,结果必须是 List<Pair<Flight, Flight>>
例如:
flightsToCity:
London -> Warsow,
Berlin -> Warsow
flightFromCity:
Warsow -> Barcelona,
Warsow -> Zakopane
Result:
London -> Warsow, Warsow -> Barcelona
London -> Warsow, Warsow -> Zakopane
Berlin -> Warsow, Warsow -> Barcelona
Berlin -> Warsow, Warsow -> Zakopane
最佳答案
假设列表具有相同的大小并且元素的顺序正确,您可以使用 IntStream解决您的问题。
List<Pair<Flight, Flight>> flightsOfAirport = IntStream
.range(0, flightsFromCity.size())
.mapToObj(index -> Pair.of(flightsToCity.get(index), flightsFromCity.get(index)))
.collect(Collectors.toList());
关于java - 如何使用 Stream 对两个列表进行配对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59704159/