키로 값을 저장하고 집계합니다.
Map은 고유 키를 값에 연결합니다. get은 없는 키에서 null을 반환하고 getOrDefault, computeIfAbsent, merge는 기본값과 집계를 간결하게 처리합니다.
예제에서 Map<Key, Value> values = new HashMap<>(); 부분부터 찾으세요. 선언 타입, 실제 객체와 반환값을 한 줄씩 따라가면서 컴파일 단계에서 잡히는 문제와 실행 중 생기는 문제를 구분하세요.
키 객체는 Map에 들어간 동안 equals와 hashCode 결과가 바뀌지 않아야 합니다. 변경 가능한 객체를 키로 쓰지 않는 편이 안전합니다.
동시 변경이 필요한 공유 Map에는 ConcurrentHashMap과 원자적 메서드를 검토합니다.
현재 코드를 먼저 실행해 출력과 타입 흐름을 확인한 뒤 단어 빈도를 merge로 계산하세요.
containsKey 없이 get 결과 null만 보면 키가 없거나 값이 null인 경우를 구분하지 못합니다.
직접 바꿔보세요단어 빈도를 merge로 계산하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.