簡體   English   中英

如何使用 Stream 對兩個列表進行配對

[英]How to make Pairs using Stream for two lists

我有兩個清單:

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());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM