İki (veya daha fazla) Map<String, Integer>
nesnem var. Java 8 Stream API'sını ortak anahtarlara yönelik değerlerin en fazla değer olması gerektiği şekilde birleştirmek istiyorum.İki Eşleme <String, Tamsayı> Java 8 Akış API'siyle Birleştirme
@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);
}
Bu test yöntemini nasıl yeşil yapabilirim?
collect
ve Collectors
ile bir süreliğine başarıya ulaşmadan oynadım.
(ImmutableMap
ve newArrayList
tarihinde Guava vardır.)
Great! Sadece bir şeylere ihtiyacım var, max yerine, ortalamaya ihtiyacım var. Nasıl yapabilirim? –
@FirasAlMannaa https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html#average-- –