Java에서 HashMap
사용법
1. HashMap이란?
HashMap
은 Java에서 가장 많이 사용되는 키-값(key-value) 쌍을 저장하는 컬렉션 클래스입니다. 키를 사용해 데이터를 빠르게 검색, 삽입, 삭제할 수 있는 구조를 제공합니다.
2. 주요 특징
- 키-값 쌍 저장: 각 키는 고유하며, 키를 통해 값에 접근할 수 있습니다.
- 빠른 검색 속도: 내부적으로 해시 테이블(Hash Table)을 사용하므로 검색 속도가 매우 빠릅니다.
- NULL 허용: 하나의
null
키와 여러 개의 null
값을 허용합니다.
- 정렬되지 않음: 저장된 순서를 유지하지 않습니다.
3. HashMap 사용법
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// HashMap 선언
HashMap<Integer, String> map = new HashMap<>();
// 요소 추가
map.put(1, "Apple");
map.put(2, "Banana");
map.put(3, "Cherry");
// 요소 출력
System.out.println("HashMap 내용: " + map);
// 특정 키에 접근
String value = map.get(2);
System.out.println("키 2의 값: " + value);
// 요소 제거
map.remove(1);
System.out.println("키 1 제거 후: " + map);
// 키 확인
boolean hasKey = map.containsKey(3);
System.out.println("키 3 존재 여부: " + hasKey);
// 값 확인
boolean hasValue = map.containsValue("Apple");
System.out.println("값 'Apple' 존재 여부: " + hasValue);
}
}
4. 주요 메서드
메서드 |
설명 |
put(key, value) |
키-값 쌍을 추가합니다. |
get(key) |
특정 키에 해당하는 값을 반환합니다. |
remove(key) |
특정 키에 해당하는 키-값 쌍을 제거합니다. |
containsKey(key) |
특정 키가 존재하는지 확인합니다. |
containsValue(value) |
특정 값이 존재하는지 확인합니다. |
size() |
저장된 키-값 쌍의 개수를 반환합니다. |
clear() |
모든 요소를 제거합니다. |
5. HashMap 사용 시 주의사항
- 동기화되지 않음:
HashMap
은 동기화를 지원하지 않습니다. 멀티스레드 환경에서는 ConcurrentHashMap
을 사용하는 것이 좋습니다.
- 정렬되지 않음: 키와 값이 저장된 순서를 보장하지 않습니다. 순서가 중요한 경우
LinkedHashMap
을 사용할 수 있습니다.