【发布时间】:2014-05-27 03:34:00
【问题描述】:
我有两个(或更多)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);
}
我怎样才能使这个测试方法变成绿色?
我和collect 和Collectors 玩了一段时间没有任何成功。
(ImmutableMap 和 newArrayList 来自 Google Guava。)
【问题讨论】:
标签: java merge java-8 java-stream