관리 메뉴

공부가 싫은 개발자

[JAVA] Map 본문

코딩테스트

[JAVA] Map

우엉엉 2025. 10. 17. 14:29

✅기본 개념

  • Map<K, V>: 키(Key)와 값(Value) 쌍으로 구성된 자료구조
  • HashMap: 가장 많이 쓰이는 Map 구현체 (순서 보장 안 됨, 빠른 검색 가능)
  • TreeMap: 키 기준 정렬됨
  • LinkedHashMap: 입력 순서 유지

 

1. 선언과 초기화

Map<String, Integer> map = new HashMap<>();

 

2. 값 추가 및 수정

map.put("apple", 3); // 추가
map.put("apple", 5); // 수정 (키 중복 시 덮어씀)

 

3. 값 조회

int count = map.get("apple"); // 5
map.getOrDefault("banana", 0); // 키 없으면 기본값 반환

 

4. 키/값 존재 여부 확인

map.containsKey("apple"); // true
map.containsValue(5);     // true

 

5. 값 삭제

map.remove("apple"); // 키 "apple" 제거

 

6. 전체 순회

for (String key : map.keySet()) {
    System.out.println(key + " → " + map.get(key));
}

또는

for (Map.Entry<String, Integer> entry : map.entrySet()) {
    System.out.println(entry.getKey() + " → " + entry.getValue());
}

 

7. 크기 확인

map.size(); // 저장된 키-값 쌍의 개수

 

8. 초기화

map.clear(); // 모든 데이터 제거

 

9. 코딩테스트에서 자주 쓰이는 상황 모음

상황 활용 예시
빈도수 세기 map.put(word, map.getOrDefault(word, 0) + 1)
중복 체크 map.containsKey(value)
값 누적 map.put(key, map.getOrDefault(key, 0) + value)
정렬된 키 필요 TreeMap 사용
순서 유지 필요 LinkedHashMap 사용

'코딩테스트' 카테고리의 다른 글

[JAVA] Stack  (0) 2025.10.17
[JAVA] Queue  (0) 2025.10.17
[JAVA] Set  (0) 2025.10.17
[JAVA] Collections  (0) 2025.10.17
[JAVA] 배열  (0) 2025.10.17