공부 내용 정리

Set 이란?

blockchoin 2025. 5. 14. 17:45

많은 양의 데이터를 관리 하다보면, 자주 사용해야 되는 기능 중, '중복 요소 없는 데이터'를 만드는 기능이 있습니다.

 

물론, 이런 기능들은 반복문을 돌려주며, 하나하나 제거해서 해결하는 방법도 있지만, 컴퓨팅 자원도 많이 소모 할 뿐만 아니라, 무엇 보다도 만들기 귀찮습니다....

 

그래서 중복 요소를 제거하는 가장 쉬운 방법인, Set 함수에 대해 알아 보겠습니다.

(정확히는 생성자 함수 입니다.)

자바스크립트로 예시를 들어 설명하겠습니다. 다른 언어에도 있습니다.

 

1. set이란?

 

  • Set은 중복되지 않는 유일한 값들의 집합을 저장하는 객체입니다.
  • 값의 순서는 삽입된 순서대로 유지됩니다.

2.주요 메서드

.add(value) 값을 추가
.delete(value) 특정 값 제거
.has(value) 해당 값이 존재하는지 확인 (true/false)
.clear() 모든 값 제거
.size Set의 요소 개수 반환

 

3. set을 다시 배열로 만드는 법

 

 

 


두 가지 방법으로, 다시 배열로 만들 수 있습니다. 특히, set은 인덱스가 없기에, 인덱스를 활용하고 싶을 경우 필히 배열로 변환하는 과정이 필용합니다.

 

4. set 순회

 

위의 예시처럼 두가지 방법으로 순회하여 , 요소 하나하나를 찾고 사용할 수 있습니다.

 

5. 배열과의 비교

                      특징                                                     Set                                                                                Array

중복 허용 ❌ 불가 ✅ 가능
순서 보장 ✅ 삽입 순서 유지 ✅ 인덱스로 순서 유지
탐색 성능 ✅ has()는 빠름 ❌ includes() 느림 (O(n))
메서드 다양성 ❌ 상대적으로 적음 ✅ map, filter 등 풍부

 

6. 정리

 

set은 처음 보면 복잡해 보이지만, 쉽게 생각해서 중복을 제거해주는 함수라고 생각하고 사용하면 됩니다.

 

다만, 배열과는 다르게 인덱스가 없고, 배열에서만 쓸수 있는 여러 메서드를 사용하지 못합니다.

 

그러니 그 부분만 주의해서, 필요할때 배열과 set을 왔다갔다 하며 사용하면, 더 편하게 많은 수의 자료를 관리 할수 있을 겁니다.