Map은 키-값(key-value) 쌍으로 데이터를 저장하는 자료구조입니다. 간단히 말하면, 특정 키를 이용해 원하는 값을 빠르게 찾을 수 있게 해주는 구조이다.


1. 기본 개념

  • 인터페이스 이름: java.util.Map
  • 대표적인 구현체:
    • HashMap (가장 많이 사용됨)
    • TreeMap (정렬된 순서 유지)
    • LinkedHashMap (입력 순서 유지)
    • ConcurrentHashMap (동시성 지원)

2. 주요 특징

  • Key는 중복될 수 없음 (Set처럼 유일해야 함)
  • Value는 중복 가능
  • 빠른 검색, 삽입, 삭제를 위해 주로 사용

3. 사용 예시 (HashMap 기준)

import java.util.HashMap;
import java.util.Map;

public class MapExample {
    public static void main(String[] args) {
        Map<String, Integer> scoreMap = new HashMap<>();

        // 값 추가
        scoreMap.put("Alice", 90);
        scoreMap.put("Bob", 85);
        scoreMap.put("Charlie", 95);

        // 값 가져오기
        System.out.println(scoreMap.get("Alice")); // 90

        // 값 수정
        scoreMap.put("Bob", 88);

        // 키 존재 여부 확인
        System.out.println(scoreMap.containsKey("Charlie")); // true

        // 전체 순회
        for (String key : scoreMap.keySet()) {
            System.out.println(key + ": " + scoreMap.get(key));
        }

        // 제거
        scoreMap.remove("Alice");
    }
}

4. 메서드 요약

메서드 설명

put(key, value) 값 추가 또는 수정
get(key) 키에 해당하는 값 가져오기
remove(key) 해당 키의 항목 제거
containsKey(key) 해당 키 존재 여부 확인
containsValue(value) 해당 값 존재 여부 확인
keySet() 모든 키 가져오기 (Set 반환)
values() 모든 값 가져오기 (Collection 반환)
entrySet() key-value 쌍을 모두 가져오기 (Set<Map.Entry> 반환)

 

블로그 이미지

Ahan

책, 영화, 게임! 인생의 활력 요소가 되는 취미들을 하자!

,