HashMap은 Java에서 매우 일반적으로 사용되는 데이터 구조 중 하나로, 키-값 쌍을 저장하는 데 사용됩니다. 이것은 java.util 패키지에 포함되어 있습니다. 다음은 HashMap에 대한 주요 특징과 사용법에 대한 간략한 설명입니다:
키-값 쌍 저장: HashMap은 키와 값을 쌍으로 저장합니다. 키는 고유해야 하며, 동일한 키를 사용하여 값을 여러 번 저장할 수 없습니다.
빠른 검색 및 삽입: HashMap은 내부 구현으로 해시 테이블을 사용하므로 키를 사용하여 빠르게 값을 검색하고, 새로운 키-값 쌍을 빠르게 삽입할 수 있습니다.
순서가 없음: HashMap은 요소의 순서를 유지하지 않습니다. 따라서 키-값 쌍이 추가된 순서대로 저장되지 않으며, 순회할 때 예측할 수 없는 순서로 요소에 액세스합니다.
Null 키 및 값 허용: HashMap은 하나의 null 키와 여러 개의 null 값에 대한 지원을 제공합니다.
동시성 문제: HashMap은 스레드로부터 안전하지 않기 때문에 동시성 문제에 주의해야 합니다. 스레드로부터 안전한 버전인 ConcurrentHashMap도 제공됩니다.
HashMap의 간단한 사용 예제:
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
// HashMap 생성
HashMap<String, Integer> ageMap = new HashMap<>();
// 값을 추가
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);
ageMap.put("Charlie", 28);
// 값을 검색
int aliceAge = ageMap.get("Alice");
System.out.println("Alice's age: " + aliceAge);
// 존재하지 않는 키에 대한 검색
int davidAge = ageMap.getOrDefault("David", 0);
System.out.println("David's age (default): " + davidAge);
// 키-값 쌍 삭제
ageMap.remove("Bob");
// HashMap 순회
for (String name : ageMap.keySet()) {
int age = ageMap.get(name);
System.out.println(name + "'s age: " + age);
}
}
}
이 예제에서는 문자열 키와 정수 값을 가진 HashMap을 만들고 값을 추가, 검색, 삭제하고 순회하는 방법을 보여줍니다. HashMap은 많은 유용한 메서드와 기능을 제공하므로 다양한 상황에서 활용할 수 있습니다.