최원종의 개발 블로그

Map 인터페이스 - 컬렉션 본문

Java/JAVA 유용한 클래스

Map 인터페이스 - 컬렉션

chl6698 2026. 3. 31. 16:57

Map 인터페이스는 List, Set 과 완전 다른 구조

List : [철수, 영희, 민준]
Set  : {철수, 영희, 민준}

 

Map은 키 (Key )와 값 (Value) 을 쌍으로 저장

Map : {철수 → 90점, 영희 → 85점, 민준 → 92점}
       ↑ 키       ↑ 값
       
// 예시
사전 : "apple" → "사과"
       "banana" → "바나나"
       "cherry" → "체리"

Map 도 같은 구조 : 키(단어) → 값(뜻)

구조

Collection (인터페이스)
    |
    ├── List (인터페이스)
    │    ├── ArrayList
    │    ├── LinkedList
    │    ├── Vector
    │    └── ...
    │
    ├── Set (인터페이스)
    │    ├── HashSet
    │    ├── LinkedHashSet
    │    ├── TreeSet
    │    └── ...


Map (인터페이스) ← Collection 과 별개로 존재
   ├── HashMap
   ├── LinkedHashMap
   └── TreeMap

 

 


- 코드

package collection.map;

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

public class MapEx {

    public static void main(String[] args) {

        // 학생이름, 점수
        Map<String, Integer> scores = new HashMap<>();

        // 추가 (put)
        scores.put("철수", 90);
        scores.put("영희", 85);
        scores.put("민준", 92);

        // 조회 (get)
        System.out.println(scores.get("철수"));  // 90 - 키값으로 접근하면 value 가 나옴
        System.out.println(scores.get("없는값")); // null

        // 포함 여부
        System.out.println(scores.containsKey("영희")); // 키 값이 존재한다면 true
        System.out.println(scores.containsValue(85)); // 있는 값 true
        System.out.println(scores.containsValue(10)); // 없는 값 false

        // 삭제
        scores.remove("민준");

        // 크기
        scores.size();

        // put() 은 덮어씌우기도 합니다.
        scores.put("철수", 0); // 덮어 쓰기 됨
        System.out.println(">>>" +scores.keySet());
        System.out.println(scores);

        for (String name : scores.keySet()) {
            System.out.println(name  + " :  " + scores.get(name)  + " 점수");
        }


    } // end of main

} // end of class

핵심 요약

Map 인터페이스
  키(Key) 와 값(Value) 을 쌍으로 저장
  키는 중복 불가, 값은 중복 허용
  키로 값을 빠르게 찾을 수 있음

HashMap 주요 메서드
  put(키, 값)        : 추가 또는 덮어쓰기
  get(키)            : 키로 값 조회, 없으면 null
  remove(키)         : 삭제
  containsKey(키)    : 키 존재 여부
  containsValue(값)  : 값 존재 여부
  keySet()           : 전체 키 목록
  size()             : 저장된 쌍의 수

언제 쓰나요?
  "이름으로 성적을 찾고 싶다"
  "단어로 뜻을 찾고 싶다"
  키로 값을 빠르게 찾아야 하는 모든 상황

 

'Java > JAVA 유용한 클래스' 카테고리의 다른 글

HTTP- 1  (0) 2026.03.31
컬렉션 프레임워크 실습 - 회원 관리 시스템  (0) 2026.03.31
Set 인터페이스 - 컬렉션  (0) 2026.03.30
List 인터페이스 - 컬렉션  (0) 2026.03.30
Vector - 컬렉션  (0) 2026.03.30