JAVA

[JAVA] Map 기본 사용법

인생아 2024. 11. 2. 15:11
반응형

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의 상태를 점검할 수 있습니다.

반응형