Java HashMap 완벽 가이드: 핵심 기능부터 실전 예제까지
Java HashMap 완벽 가이드
Java에서 HashMap은 키-값 쌍으로 데이터를 저장하여 고유한 키로 값을 빠르게 검색할 수 있게 해줍니다. 배열과 달리 키는 null을 제외한 모든 객체가 될 수 있으며, 맵은 해싱과 충돌 해결을 자동으로 관리합니다.
주요 특징
- 고유한 키를 값과 연결하여
get() 및 put() 연산 가능
- 요청한 키가 존재하지 않을 때
NoSuchElementException 발생
- 객체 참조를 저장하므로 기본 타입은 래퍼 클래스(예:
Integer, Double)로 감싸야 함
HashMap 선언하기
HashMap<String, Object> map = new HashMap<String, Object>();
HashMap x = new HashMap();
핵심 메서드
get(Object key) – 지정된 키에 대한 값 반환
put(Object key, V value) – 키-값 쌍 삽입 또는 업데이트
remove(Object key) – 지정된 키에 대한 매핑 삭제
containsKey(Object key) – 키 존재 여부 확인
keySet() – 모든 키의 Set 반환
values() – 모든 값의 Collection 반환
isEmpty() – 맵에 엔트리가 있는지 확인
실전 예제
아래는 일반적인 연산을 보여주는 실행 가능한 완전한 코드입니다:
import java.util.HashMap;
import java.util.Map;
public class SampleTestMaps {
public static void main(String[] args) {
Map<String, String> objMap = new HashMap<>();
objMap.put("Name", "Suzuki");
objMap.put("Power", "220");
objMap.put("Type", "2-wheeler");
objMap.put("Price", "85000");
System.out.println("Elements of the Map:");
System.out.println(objMap);
}
}
출력:
{Type=2-wheeler, Price=85000, Power=220, Name=Suzuki}
특정 엔트리 제거하기
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
HashMap<Integer, String> map = new HashMap<>();
map.put(1, "Java");
map.put(2, "Python");
map.put(3, "PHP");
map.put(4, "SQL");
map.put(5, "C++");
System.out.println("Before removal: " + map);
map.remove(5);
System.out.println("After removal: " + map);
}
}
출력:
Before removal: {1=Java, 2=Python, 3=PHP, 4=SQL, 5=C++}
After removal: {1=Java, 2=Python, 3=PHP, 4=SQL}
빠른 참조표
- 존재 확인:
containsKey(key)
- 키 목록:
keySet()
- 값 목록:
values()
- 엔트리 삭제:
remove(key)
- 비어있는지 확인:
isEmpty()
이 기초 지식을 바탕으로 어떤 Java 애플리케이션에서도 HashMap을 효율적인 데이터 저장 및 검색에 자신 있게 활용할 수 있습니다.