相关疑难解决方法(0)

将两个Map <String,Integer>与Java 8 Stream API合并

我有两个(或更多)Map<String, Integer>对象.我想将它们与Java 8 Stream API合并,使公共键的值应该是值的最大值.

@Test
public void test14() throws Exception {
    Map<String, Integer> m1 = ImmutableMap.of("a", 2, "b", 3);
    Map<String, Integer> m2 = ImmutableMap.of("a", 3, "c", 4);
    List<Map<String, Integer>> list = newArrayList(m1, m2);

    Map<String, Integer> mx = list.stream()... // TODO

    Map<String, Integer> expected = ImmutableMap.of("a", 3, "b", 3, "c", 4);
    assertEquals(expected, mx);
}
Run Code Online (Sandbox Code Playgroud)

如何将此测试方法设为绿色?

我已经打了collect,并Collectors有一阵子没有任何成功.

(ImmutableMapnewArrayList来自谷歌番石榴).

java merge java-8 java-stream

64
推荐指数
4
解决办法
6万
查看次数

合并两个地图

我有两个映射,其键是Strings,其值是Set<MyObject>.给定两个Maps,合并它们的最简单方法是什么,如果两个键相同,则值是两个集合的并集.你可以假设值是永远不能为null,如果它是有用的,我们可以把这些Map小号SortedMap秒.

java merge map

24
推荐指数
3
解决办法
7万
查看次数

标签 统计

java ×2

merge ×2

java-8 ×1

java-stream ×1

map ×1