공부가 싫은 개발자
[JAVA] Map 본문
✅기본 개념
- 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 |