gpt4 book ai didi

java - Java8 中的 hashmap 条目对流?

转载 作者:行者123 更新时间:2023-11-30 08:10:07 25 4
gpt4 key购买 nike

Java8 , 有一个 HashMap<Integer, City> capitals我想获得资金对流Stream<Map.Entry<Integer, City>, Map.Entry<Integer, City>> capitalPairsInteger 过滤.我该怎么做?

示例:capitals = { (1, Amsterdam), (2, Barcelona), (3, Dortmund) }然后(过滤定义为 first integer < second integer ):

capitalPairs = [
( (1, Amsterdam), (2, Barcelona) ),
( (1, Amsterdam), (3, Dortmund) ),
( (2, Barcelona), (3, Dortmund) ) ]

最佳答案

假设您想要所有关键 apis,其中 first < second以避免重复组合。

capitals.keySet().stream().flatMap(k1 ->
capitals.keySet().stream().filter(k2 -> k1 < k2).map(k2 -> Pair.of(k1, k2)))
// do something with the pair of keys, lookup the city as required.

您可以使用 entrySet() 而不是 keySet() 来执行此操作,但这更麻烦。

capitals.entrySet().stream().flatMap(e1 ->
capitals.entrySet().stream().filter(e2 -> e1.getValue() < e2.getValue()).map(e2 -> Pair.of(e1, e2)))
// do something with the Pair of entry(s)

关于java - Java8 中的 hashmap 条目对流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31897725/

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