/////
Search
Duplicate
4️⃣

개선된 ConcurrentHashMap

ConcurrentHashMap은 동시성 친화적이며 최신 기술을 반영한 HashMap 버전이다.
ConcurrentHashMap은 내부 자료구조의 특정 부분만 잠궈 동시 추가, 갱신 작업을 허용한다. 다만 표준 HashMap은 비동기로 동작한다.

1. 리듀스와 검색

ConcurrentHashMap은 스트림에서 봤던 것과 비슷한 종류의 세 가지 새로운 연산을 지원한다.
forEach: 각 (키, 값) 쌍에 주어진 연산을 수행
reduce: 모든 (키, 값) 쌍을 제공된 리듀스 함수를 이용해 결과로 합침
search: 널이 아닌 값을 반환할 때까지 각 (키, 값) 쌍에 함수를 적용

2. 계수

ConcurrentHashMap은 맵의 매핑 개수를 int로 반환하는 mappingCount 메서드를 제공한다.
이는 size 메서드 대신 사용되는데, 이를 이용하면 매핑의 개수가 int의 범위를 넘어서는 이후의 상황에 대처할 수 있기 때문이다.