putIfAbsent()
computeIfAbsent()
compute()
computeIfPresent()
merge()
getOrDefault()
key의 존재 여부에 따라서 새로운 key와 value 값을 추가하는 메서드
putIfAbsent(key, value)
- key : Map의 key 값
- value : value 값
computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction)
- key : Map의 키 값
- mappingFunction의 람다 함수는 key 값이 존재하지 않을 때만 실행
key 값이 존재하는 경우
- map안에 있는 value을 반환
key 값이 존재하지 않는 경우
- Map에 새로운 key와 value(mappingFunction 람다 함수를 실행한 결과) 값을 저장
Map의 value 값을 업데이트할 때 사용
compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
key 값이 존재하는 경우
remappingFunction 람다 함수 실행 결과로 value 값 업데이트
key가 존재하지 않는 경우
null을 반환한다
compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
merge(K key, V value,BiFunction<? super V, ? super V, ? extends V> remappingFunction)
getOrDefault(Object key, V defaultValue)
key 값이 존재하는 경우
Map의 value값을 반환한다
key 값이 존재하지 않는 경우
defaultValue을 반환