Map은 Key–Value(키–값) 형태로 데이터를 저장하는 자료구조다.
Map의 가장 큰 특징은
값을 순서가 아니라 ‘키’를 기준으로 관리한다는 점이다.
- 하나의 키(key)에 하나의 값(value)이 대응된다
- 키는 중복될 수 없다
- 키를 이용해 값을 빠르게 조회하는 것이 목적이다
예를 들면 다음과 같은 구조가 Map에 해당한다.
- 사용자 ID → 사용자 정보
- 날짜 → 해당 날짜의 글
- 상품 코드 → 상품 정보
즉 Map은
어떤 기준(키)을 주면, 그에 대응하는 값이 바로 나오는 구조다.
Map의 기본적인 사용 형태
Map은 보통 다음과 같은 형태로 사용된다.
Map<String, Integer> map = new HashMap<>();
여기서 중요한 점은
Map 자체는 구조와 동작 방식에 대한 개념이라는 것이다.
Map은 다음과 같은 동작을 전제로 한다.
- 키와 값을 저장할 수 있다
- 키를 이용해 값을 조회할 수 있다
- 키의 중복은 허용되지 않는다
이 조건만 만족한다면
내부에서 데이터를 어떻게 저장하는지는 중요하지 않다.
Map의 종류
Map은 하나의 고정된 자료구조가 아니라
여러 구현 방식이 존재하는 개념이다.
대표적인 Map 구현 방식들은 다음과 같다.
- HashMap
- LinkedHashMap
- TreeMap
이들은 모두 Map이라는 공통된 구조를 따르지만
데이터를 저장하고 관리하는 방식이 서로 다르다.
HashMap이란 무엇인가
HashMap은
Map을 구현한 가장 대표적인 자료구조다.
HashMap은 내부적으로 해시(Hash) 를 사용한다.
동작 개념은 다음과 같다.
- 키를 해시 함수에 넣어 숫자 값으로 변환한다
- 이 값을 기준으로 저장 위치를 결정한다
- 같은 방식으로 키를 다시 계산해 값을 찾아온다
이 방식 덕분에
HashMap은 평균적으로 매우 빠른 조회 속도(O(1)) 를 가진다.
Map<String, Integer> score = new HashMap<>(); score.put("Alice", 90); score.put("Bob", 85); score.get("Alice"); // 90
HashMap의 특징은 다음과 같다.
- 키 기반 조회가 빠르다
- 저장 순서는 보장되지 않는다
- 가장 일반적으로 사용되는 Map 구현체다
다른 Map 구현체들
HashMap 외에도 Map에는 여러 구현 방식이 있다.
LinkedHashMap
- 입력된 순서를 유지한다
- 순서가 중요한 경우 사용한다
TreeMap
- 키를 기준으로 자동 정렬된다
- 정렬이나 범위 검색이 필요한 경우 사용한다
이처럼
Map이라는 큰 개념 아래에 여러 구현 방식이 존재하며,
HashMap은 그중 가장 기본적이고 범용적인 선택이다.
정리
- Map은 키를 기준으로 값을 관리하는 자료구조 개념이다
- Map에는 여러 구현 방식이 있다
- HashMap은 해시를 이용해 Map을 구현한 대표적인 자료구조다
- 대부분의 경우 HashMap이 기본 선택이 된다
'🧠 알고리즘 > 개념' 카테고리의 다른 글
| 에라토스테네스의 체란? (소수 구하기 알고리즘 정리) (0) | 2026.01.16 |
|---|---|
| 유클리드 호제법(Euclidean Algorithm) 이란 무엇인가 (0) | 2026.01.14 |
| 브루트포스(Brute Force)는 왜 가장 먼저 배우는 알고리즘일까? (0) | 2026.01.02 |
| 시간복잡도란 무엇인가? 왜 우리는 이걸 신경 써야 할까 (0) | 2026.01.02 |