Programming

[TIL] 자료구조 Map, Set

jay-dev 2023. 6. 26. 19:01

Map과 Set은 비교적 최근에 등장한 자료구조(ES6)로
데이터의 구성, 검색, 사용을 보다 효율적으로 처리하기 위해 등장

Map

  • Key / Value 페어를 저장
  • Key에 어떤 데이터타입도 다 들어올 수 있음 (객체와의 가장 큰 차이)
  • set / get 메서드는로 설정 / 불러오기
const myMap = new Map();

myMap.set('one','1');
myMap.set('two','2');
myMap.set('three','3');

console.log(myMap.keys())

for(const key of myMap.keys()) {
	console.log(key);
}

// one two three 출력
// iterator 활용

console.log(myMap.size) // => 3
console.log(myMap.has('one')) // => true

Set

  • 고유한 값을 저장하는 자료구조 (중복 x, 집합의 개념과 비슷)
  • 값만 저장 (key를 저장하지 않음)
  • add / get 메서드는로 설정 / 불러오기
const mySet = new Set();

mySet.add('values1');
mySet.add('values2');
mySet.add('values2');

console.log(mySet.size) // => 2 (중복 허용 x)

Set 또한 iterator 활용 가능
mdn 공식문서에서 'Set을 활용하면 교집합, 차집합을 흉내낼 수 있다'라고 나와 있음

[mdn 공식문서]https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Set