Tôi có hai (hoặc nhiều hơn) Map<String, Integer>
đối tượng. Tôi muốn hợp nhất chúng với API Java 8 Stream theo cách mà các giá trị cho các khóa chung nên là giá trị tối đa của các giá trị.Hợp nhất hai Bản đồ <Chuỗi, Số nguyên> với API 8 API Java
@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);
}
Làm cách nào để làm phương pháp thử nghiệm này có màu xanh lục?
Tôi đã chơi với collect
và Collectors
trong một thời gian mà không thành công.
(ImmutableMap
và newArrayList
là từ Google ổi.)
Tuyệt vời! Tôi chỉ cần một thứ khác, thay vì tối đa, tôi cần trung bình. Tôi làm nó như thế nào? –
@FirasAlMannaa https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html#average-- –