Skip to content

Commit 3cea8b6

Browse files
BAEL-2936
1 parent e4e4a2b commit 3cea8b6

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

java-collections-conversions/src/main/java/com/baeldung/convertToMap/ConvertToMap.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ public Map<Integer, Book> listToMapWithDupKeyError(List<Book> books) {
1515
}
1616

1717
public Map<Integer, Book> listToMapWithDupKey(List<Book> books) {
18-
return books.stream().collect(Collectors.toMap(Book::getReleaseYear, Function.identity(),
19-
(o1, o2) -> o1));
18+
return books.stream().collect(Collectors.toMap(Book::getReleaseYear, Function.identity(), (existing, replacement) -> existing));
2019
}
2120

2221
public Map<Integer, Book> listToConcurrentMap(List<Book> books) {

java-collections-conversions/src/test/java/com/baeldung/convertToMap/ConvertToMapUnitTest.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.ArrayList;
44
import java.util.List;
5+
import java.util.Map;
56
import java.util.concurrent.ConcurrentHashMap;
67

78
import static org.junit.Assert.*;
@@ -34,8 +35,10 @@ public void whenMapHasDuplicateKey_without_merge_function_then_runtime_exception
3435
}
3536

3637
@Test
37-
public void whenMapHasDuplicateKey_with_merge_function() {
38-
assertTrue(convertToMap.listToMapWithDupKey(bookList).size() == 2);
38+
public void whenMapHasDuplicateKeyThenMergeFunctionHandlesCollision() {
39+
Map<Integer, Book> booksByYear = convertToMap.listToMapWithDupKey(bookList);
40+
assertEquals(2, booksByYear.size());
41+
assertEquals("0395489318", booksByYear.get(1954).getIsbn());
3942
}
4043

4144
@Test

0 commit comments

Comments
 (0)