자바에서 데이터를 저장하고 관리할 때, 키와 값의 쌍으로 데이터를 저장하는 구조를 사용하곤 합니다. 이러한 구조를 표현하는 인터페이스가 바로 Map입니다.
Map 인터페이스란?
Map은 자바에서 키(key)와 값(value)을 저장하는 데이터 구조를 표현하는 인터페이스입니다. 키와 값의 쌍을 "매핑(mapping)"이라고 부릅니다. Map 인터페이스는 여러 구현체가 있으며, 그 중 하나가 HashMap입니다. 다른 Map 인터페이스의 구현체로는 TreeMap, LinkedHashMap 등이 있습니다.
HashMap 클래스란?
HashMap은 Map 인터페이스를 구현한 클래스로, 해시 테이블을 사용하여 키와 값을 저장합니다. 키와 값은 둘 다 null일 수 있으며, HashMap은 키의 중복을 허용하지 않지만 값의 중복은 허용합니다. HashMap은 삽입 순서를 유지하지 않으며, 대신 해시 함수에 의해 결정되는 순서대로 요소를 저장합니다.
예제
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
// Map 인터페이스의 참조 변수를 HashMap 객체로 초기화
Map<String, Integer> map = new HashMap<>();
// 요소 추가
map.put("Alice", 24);
map.put("Bob", 28);
map.put("Charlie", 22);
// 키를 이용하여 값 얻기
int aliceAge = map.get("Alice");
System.out.println("Alice's age: " + aliceAge);
// 맵의 크기 확인
System.out.println("Map size: " + map.size());
// 맵의 모든 요소 출력
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
// 요소 삭제
map.remove("Alice");
// 삭제 후 맵의 모든 요소 출력
System.out.println("After removing Alice:");
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
이 예제에서는 Map 인터페이스와 HashMap 클래스를 사용하여 이름을 키로, 나이를 값으로 하는 맵을 생성하고, 요소를 추가, 조회, 삭제하는 기본 동작을 수행합니다. 다른 Map 구현체로 변경하려면, `new HashMap<>()` 부분을 해당 구현체의 생성자로 바꾸면 됩니다.
정리
이 포스트에서는 자바의 Map 인터페이스와 그 구현체인 HashMap 클래스에 대해 살펴봤습니다. Map 인터페이스는 키와 값 쌍으로 데이터를 저장하는 구조를 표현하며, HashMap은 이를 구현한 클래스입니다. 예제를 통해 HashMap을 사용하는 방법도 확인했습니다. 이를 통해 Map 인터페이스를 사용하면 데이터를 효율적으로 저장하고 관리할 수 있음을 알 수 있습니다.
참고로, TreeMap과 LinkedHashMap과 같은 다른 Map 인터페이스 구현체들은 각각 특별한 기능과 성능 차이를 가지고 있습니다. 이에 대해서도 알아보면 자바에서 데이터를 더 효과적으로 관리하는 데 도움이 될 것입니다.
'Java' 카테고리의 다른 글
2. Map 크기 및 요소 개수 확인 (0) | 2023.05.03 |
---|---|
1. Map 생성 및 초기화 (0) | 2023.05.03 |
자바에서 (String)과 toString()의 차이 (0) | 2023.04.27 |
Java Hashtable 생성 및 초기화하는 방법 6가지 (0) | 2023.04.23 |
Java ConcurrentHashMap 생성 및 초기화하는 방법 6가지 (0) | 2023.04.23 |
댓글