小编use*_*157的帖子

将两个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万
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1

merge ×1