목록으로

자료 구조 - 맵 (Map)

약 2분 읽기스터디#Development댓글로 이동

CS 스터디

main
date
Oct 29, 2023
slug
data-structure-map
author
status
Public
tags
Development
summary
CS 스터디
type
Post
thumbnail
category
스터디
updatedAt
Apr 14, 2026 09:44 PM

Key와 Value가 한 쌍으로 이루어진 자료구조

  • 리스트나 배열처럼 순차적으로 해당 요소 값을 구하지 않고 Key를 통하여 Value를 얻는다.
  • Value 는 중복될 수 있지만, Key는 고유한 값을 가져야한다.
  • Map은 저장 순서를 유지할 필요가 없고, Key를 통하여 Value를 얻어내기 때문에 Key는 중복을 허용하지 않는다.
자바스크립트 Map 객체 생성
const map1 =new Map();// 방법 1. 비어있는 Map 객체 생성const mockData = [['key1','value1'],['key2','value2'],['key3','value3']]; const map2 =new Map(mockData);// 방법 2. Map 객체에 초기값 할당하여 생성console.log(map2)
Map에 값을 저장할 때에는 [key, value] 형식으로 저장하는 것이 일반적
notion image
const mockData = [['key1','value1'],['key1','value2'],['key3','value3']]; const map2 =new Map(mockData);// 방법 2. Map 객체에 초기값 할당하여 생성console.log(map2)
중복된 key 로 값이 할당된다면 마지막에 들어온 키, 값으로 덮어씌워진다.
notion image
자바스크립트 특성상 key와 value 둘 다 객체가 될 수 있다.
const mockData = [ ['1',{objKey1: 'value1'}], ['2',{objKey2: 'value2'}], [{objKey3: 'value3'},{objKey3: 'value3'}], ]; const map =new Map(mockData);// 방법 2. Map 객체에 초기값 할당하여 생성console.log(map)
notion image
JavaScript Object VS Map
  • Object 키는 String이며, Map의 키는 모든 값을 가질 수 있다.
  • Object는 크기를 수동으로 추적해야하지만, Map은 크기를 쉽게 얻을 수 있다.
  • Object는 입력 순서에 따라 출력 순서가 보장되지 않지만, Map은 입력 순서가 보장된다.
  • Object 에는 prototype이 있어 Map에 기본 키들이 있다.
  • Iterator Interface 구현 여부 (Object 없음, Map은 Iterator 존재)