[javascript] 맵과 셋 데이터 구조

맵(Map)과 셋(Set)은 자바스크립트에서 데이터를 구조화하는 데 사용되는 특별한 데이터 구조입니다. 이들은 효율적인 데이터 관리와 검색을 위해 설계되었으며 다양한 상황에서 유용하게 사용될 수 있습니다.

맵(Map)

맵은 키와 값을 연결하는 데이터 구조입니다. 이를 통해 키를 사용하여 값을 저장하고 검색할 수 있습니다. 맵은 객체와 유사한 형태를 가지며 특정한 키-값 쌍의 접근이 가능합니다. 여러 가지 특징을 가지고 있는데, 일반적으로 다음과 같은 특징을 갖습니다:

아래는 맵을 사용하는 예시 코드입니다:

// 맵 생성
let map = new Map();

// 값을 저장
map.set("name", "John");
map.set("age", 30);
map.set("job", "developer");

// 값 읽기
console.log(map.get("name")); // "John"
console.log(map.get("age")); // 30

// 맵의 크기
console.log(map.size); // 3

// 맵 순회
map.forEach((value, key) => {
  console.log(`${key}: ${value}`);
});

// 키 존재 여부 확인
console.log(map.has("name")); // true

// 키 제거
map.delete("name");

// 맵 비우기
map.clear();

셋(Set)

셋은 고유한 값들의 집합을 표현하는 데이터 구조입니다. 이를 통해 데이터를 중복 없이 저장하고, 효율적으로 검색할 수 있습니다. 셋은 배열과 유사한 형태를 가지지만, 각 값은 유일하며 순서를 보장하지 않습니다. 다음은 셋의 주요 특징입니다:

아래는 셋을 사용하는 예시 코드입니다:

// 셋 생성
let set = new Set();

// 값 추가
set.add(1);
set.add(2);
set.add(3);
set.add(1); // 중복 값은 무시됩니다

// 값 삭제
set.delete(2);

// 셋의 크기
console.log(set.size); // 2

// 셋 순회
set.forEach((value) => {
  console.log(value);
});

// 값 존재 여부 확인
console.log(set.has(1)); // true
console.log(set.has(2)); // false

// 셋 비우기
set.clear();

맵과 셋은 자바스크립트에서 데이터 구조화와 관련된 작업을 할 때 매우 유용한 도구입니다. 이러한 데이터 구조를 사용하면 데이터를 효율적으로 관리할 수 있고, 검색 작업을 최적화할 수 있습니다. 맵과 셋의 기능과 사용법을 잘 이해하면, 자바스크립트에서 다양한 문제를 해결하는 데 도움이 될 것입니다.


참고 자료