Map with multiple values for same key
APPROACH 1:
Map<String, List> map = new HashMap<>();
List list = new ArrayList<>();
map.put(“key1”, list);
map.get(“key1”).add(“value1”);
map.get(“key1”).add(“value2”);
assertThat(map.get(“key1”).get(0)).isEqualTo(“value1”);
assertThat(map.get(“key1”).get(1)).isEqualTo(“value2”);
APPROACH 2:
MultiMap<String, String> map = new MultiValueMap<>();
map.put(“key1”, “value1”);
map.put(“key1”, “value2”);
assertThat((Collection) map.get(“key1”))
.contains(“value1”, “value2”);
APPROACH 3: Java 8 Approach
Map<String, List> map = new HashMap<>();
map.computeIfAbsent(“key1”, k -> new ArrayList<>()).add(“value1”);
map.computeIfAbsent(“key1”, k -> new ArrayList<>()).add(“value2”);
assertThat(map.get(“key1”).get(0)).isEqualTo(“value1”);
assertThat(map.get(“key1”).get(1)).isEqualTo(“value2”);