Java의 Map 인터페이스는 데이터를 키-값 쌍으로 저장하며, 중복 키를 허용하지 않아 고유한 값을 저장할 때 유용합니다. 이 글에서는 Map을 사용하는 기본적인 방법과 함께 put(), get(), remove(), clear(), size(), isEmpty() 메서드의 활용법을 자세히 다루어 보겠습니다.
데이터 추가와 조회: put(), get() 메서드
Map의 put() 메서드는 새로운 키-값 쌍을 추가하거나, 기존 키가 있다면 그 키에 대한 값을 갱신하는 역할을 합니다. 이는 데이터를 입력하는 주요 메서드로, 데이터베이스처럼 특정 키를 통해 데이터를 고유하게 식별할 수 있습니다.
get() 메서드는 특정 키에 해당하는 값을 조회할 때 사용됩니다. 이 메서드는 해당 키가 존재하면 값을 반환하며, 그렇지 않은 경우 null을 반환합니다.
put()와 get() 메서드 예제
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
Map<String, String> countries = new HashMap<>();
// 데이터 추가
countries.put("USA", "Washington, D.C.");
countries.put("France", "Paris");
countries.put("Japan", "Tokyo");
// 데이터 조회
System.out.println("USA의 수도: " + countries.get("USA"));
System.out.println("France의 수도: " + countries.get("France"));
System.out.println("존재하지 않는 키 조회: " + countries.get("Canada")); // null 반환
}
}
이 예제에서는 "USA" 키에 "Washington, D.C." 값을 저장하고, get() 메서드를 통해 값을 조회합니다. Canada와 같은 없는 키를 조회하면 null이 반환되므로, 키의 존재 여부를 사전에 확인하는 것이 좋습니다.
데이터 삭제: remove(), clear() 메서드
Map에서 특정 데이터를 삭제하려면 remove() 메서드를 사용합니다. 이 메서드는 지정된 키에 해당하는 키-값 쌍을 제거합니다. 반면 clear() 메서드는 Map에 있는 모든 데이터를 삭제하여 빈 상태로 만듭니다.
remove()와 clear() 메서드 예제
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
Map<String, Integer> scores = new HashMap<>();
scores.put("Math", 95);
scores.put("English", 88);
scores.put("Science", 76);
// 데이터 삭제
scores.remove("English");
System.out.println("English 과목 삭제 후: " + scores);
// 모든 데이터 삭제
scores.clear();
System.out.println("모든 데이터 삭제 후: " + scores);
}
}
이 코드에서는 English 과목의 점수를 삭제하고 clear() 메서드를 통해 모든 과목을 삭제하여 빈 Map을 출력합니다. 데이터가 많은 상황에서 특정 키를 찾아 삭제할 수 있어 편리합니다.
Map 크기 확인과 빈 값 체크: size(), isEmpty() 메서드
Map에 저장된 데이터의 개수를 알고 싶다면 size() 메서드를 사용하고, Map이 비어 있는지 확인하려면 isEmpty() 메서드를 사용할 수 있습니다. size() 메서드는 Map에 저장된 키-값 쌍의 총 개수를 반환하며, isEmpty()는 Map이 비어 있을 경우 true를, 그렇지 않으면 false를 반환합니다.
size()와 isEmpty() 메서드 예제
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
Map<String, Integer> points = new HashMap<>();
points.put("Player1", 100);
points.put("Player2", 80);
// 크기 확인
System.out.println("Map 크기: " + points.size());
// 빈 값 체크
System.out.println("Map이 비어 있나요? " + points.isEmpty());
// 모든 값 삭제 후 크기와 빈 값 체크
points.clear();
System.out.println("모든 값 삭제 후 Map 크기: " + points.size());
System.out.println("Map이 비어 있나요? " + points.isEmpty());
}
}
이 예제에서는 Map에 두 명의 플레이어 점수를 추가한 후 size()로 총 개수를 확인하고, isEmpty()를 통해 Map이 비어 있는지를 확인합니다. 데이터를 모두 삭제한 후 다시 size()와 isEmpty() 메서드를 사용하여 Map의 상태를 점검할 수 있습니다.
'JAVA' 카테고리의 다른 글
[JAVA] Map 성능 최적화와 메모리 관리 (0) | 2024.11.05 |
---|---|
[JAVA] Map Java8 이상의 기능과 메서드 (0) | 2024.11.05 |
[JAVA] Map 반복문과 순회 방법 (0) | 2024.11.05 |
[JAVA] Map 메서드 활용 (0) | 2024.11.05 |
[JAVA] Map 인터페이스와 구현체 (1) | 2024.11.02 |
[JAVA] Map 개요 (0) | 2024.11.02 |
[JAVA] Lombok 성능 최적화와 메모리 관리 (0) | 2024.11.02 |
[JAVA] Lombok 커스텀 애너테이션(어노테이션) 생성 및 활용 (0) | 2024.10.31 |