Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트 Set 자료구조 완벽 정리: 개념과 핵심 특징

Set이란 무엇인가?

Set(집합)은 특정 값들을 저장할 수 있는 추상 자료형(Abstract Data Type)입니다. Set의 가장 큰 특징은 순서가 없고 중복된 값을 허용하지 않는다는 점입니다. 즉, 동일한 값이 여러 번 저장되지 않으며, 각 요소는 집합 안에서 단 한 번만 존재합니다.

이러한 Set은 수학에서 다루는 유한 집합(finite set) 개념을 컴퓨터 과학적으로 구현한 것이라 할 수 있습니다.

다른 컬렉션과의 차이점

배열(Array)이나 리스트(List)와 같은 대부분의 컬렉션 자료형은 특정 위치의 요소를 검색하거나 인덱스를 통해 값을 꺼내는 데 초점을 맞춥니다. 반면 Set은 특정 요소를 직접 가져오기보다는, 어떤 값이 집합에 포함되어 있는지 여부(멤버십 검사, membership test)를 확인하는 용도로 주로 사용됩니다.

주요 활용 사례

이러한 특성 덕분에 Set은 다음과 같은 상황에서 유용하게 활용됩니다.

- 데이터에서 중복 제거가 필요할 때
- 값의 존재 여부를 빠르게 확인해야 할 때
- 두 데이터 집합 간의 교집합, 합집합, 차집합 연산이 필요할 때

자바스크립트에서의 Set 사용

자바스크립트(ES6)에서는 내장 객체인 Set을 통해 이 자료구조를 손쉽게 사용할 수 있습니다. 기본적인 사용 예시는 다음과 같습니다.

const mySet = new Set();

mySet.add(1);        // 값 추가
mySet.add(2);
mySet.add(1);        // 중복 값은 무시됨

console.log(mySet.has(2)); // true - 멤버십 검사
console.log(mySet.size);   // 2 - 저장된 요소 개수

mySet.delete(1);     // 값 삭제

정리

Set은 순서와 중복을 배제하고 값의 존재 여부 확인에 최적화된 자료구조입니다. 자바스크립트의 Set 객체를 활용하면 중복 제거와 빠른 조회 작업을 효율적으로 처리할 수 있으므로, 데이터 처리 로직을 설계할 때 적극적으로 고려해 볼 만합니다.