computeIfAbsent 메소드를 알아보자
ComputeIfAbsent 메소드에 대해 알아봅니다.
Map<String, List<String>> results = new HashMap<>();
String key = "KEY";
if (!results.containsKey(key)) {
results.put(key, new ArrayList<>());
}
results.get(key).add(s);Map<String, List<String>> results = new HashMap<>();
String key = "KEY";
results.computeIfAbsent(key, k -> new ArrayList<>()) // key 에 해당하는 값이 없으면 새로운 리스트를 값으로 해서 저장하고 가져온다.
.add(s); // key 에 해당하는 값인 리스트에 s 값을 할당한다.default V computeIfAbsent(K key,
Function<? super K, ? extends V> mappingFunction) {
Objects.requireNonNull(mappingFunction);
V v;
if ((v = get(key)) == null) {
V newValue;
if ((newValue = mappingFunction.apply(key)) != null) {
put(key, newValue);
return newValue;
}
}
return v;
}Last updated