Java 기초 정리 - 자료구조 (Map)

Zyoon·2025년 4월 16일

Java 기초정리

목록 보기
20/24
post-thumbnail

💡Map 개념 정리


Map


📘 Key-Value 쌍을 이루는 구조

  1. HashMap

    • 정렬 및 순서 없음
    • 키 중복 불가, 값 중복 가능
    • 가장 많이 사용하며 속도 빠름
    Map<String, Integer> map = new HashMap<>();
    map.put("apple", 100);
    map.put("banana", 200);

  1. LinkedHashMap

    • 입력한 순서 유지
    • 내부적으로 double Linked List 로 순서 관리
    • 나머지 특징은 HashMap 과 동일
    Map<String, Integer> map = new LinkedHashMap<>();
    map.put("apple", 100);
    map.put("banana", 200);
    // 출력 시 입력한 순서 그대로 나옴

  1. TreeMap

    • 키 기준 오름차순 정렬
    • 키 정렬이 필요할 때 사용
    • 삽입/삭제 가능
    Map<String, Integer> map = new TreeMap<>();
    map.put("banana", 200);
    map.put("apple", 100);
    // 출력: apple, banana (오름차순)

  1. 정리

    Map 종류정렬중복 허용특징
    HashMapX키 중복 X / 값 중복 O가장 많이 씀. 빠름. 순서 없음
    LinkedHashMapO (입력 순서 유지)키 중복 X / 값 중복 O입력한 순서 유지
    TreeMapO (키 오름차순 정렬)키 중복 X / 값 중복 O정렬된 상태로 저장 (이진 탐색 트리 기반)

  1. 기본 메서드

    Map<String, Integer> map = new HashMap<>();
    
    // 추가 & 수정
    map.put("Apple", 100);
    map.put("Banana", 200);
    
    // 값 조회
    System.out.println(map.get("Apple"));  // 100
    
    // 삭제
    map.remove("Banana");
    
    // 포함 여부
    System.out.println(map.containsKey("Apple"));  // true
    System.out.println(map.containsValue(100));    // true
    
    // 크기
    System.out.println(map.size());  // 1
    
    // 비어있는지
    System.out.println(map.isEmpty());  // false
    
    // 순회 (keySet)
    for(String key : map.keySet()) {
        System.out.println(key + " : " + map.get(key));
    }
    
    // 순회 (entrySet)
    for(Map.Entry<String, Integer> entry : map.entrySet()) {
        System.out.println(entry.getKey() + " : " + entry.getValue());
    }
    
    // 모든 값만 가져오기
    System.out.println(map.values());
    
profile
기어 올라가는 개발

0개의 댓글