Swift – 컬렉션 종류 (2) Set (declare/add/delete/다양한 메소드)


저번에 배열에 대해 배웠는데,

이번에는 세트를 배워볼게요!

Swift Set은 컬렉션을 나타내는 데이터 유형으로,

배열과 달리 순서 및 중복 값 없음.

이러한 속성으로 인해 세트는 데이터를 고유하게 유지하고 검색 및 필터링에 사용할 수 있습니다.


컬렉션 생성 및 기능

// 빈 Set 생성
var mySet = Set<Int>()

// 값이 있는 Set 생성
var mySet: Set = (1, 2, 3, 4, 5)

세트의 기본 생성은 다음과 같습니다.

Set에는 여러 가지 매우 유용한 메서드가 있습니다.

  • insert(_:) : Set에 값을 삽입합니다. 에 추가하다.
  • remove(_:) : Set에서 값을 제거합니다. 들어오지 못하게 하다하다.
  • contains(_:) : 컬렉션으로 특정 값을 포함그것이 맞는지 확인하십시오.
  • 카운트: 세트에 저장됨 값의 수반품
  • union(_:) : 두 그룹 병합.
  • 교차점(_:): 두 컬렉션에서 공통 값 추출하다.
  • 빼기(_:) : 첫 번째 Set에서 두 번째 Set에 포함된 값을 제거합니다.

var mySet: Set = (1, 2, 3, 4, 5)

mySet.insert(6) // (1, 2, 3, 4, 5, 6)

mySet.remove(4) // (1, 2, 3, 5, 6)

if mySet.contains(3) {
    print("3을 포함합니다!")
} else {
    print("3을 포함하지 않습니다!")
}

let otherSet: Set = (2, 3, 4, 7)
let unionSet = mySet.union(otherSet) // (1, 2, 3, 4, 5, 6, 7)

let intersectionSet = mySet.intersection(otherSet) // (2, 3)

let subtractedSet = mySet.subtracting(otherSet) // (1, 5, 6)

다음은 다양한 Set 메서드를 사용하는 예입니다.

for value in mySet {
    print(value)
}

Set 데이터는 배열과 마찬가지로 for-in 문을 통해 출력할 수 있습니다.

Set은 Array처럼 순서가 없는(순서 없는) 것이 아니라고 위에서 말씀 드렸죠?

let sortedArray = mySet.sorted()

그래서 그것을 정렬된 배열로 바꾸고 싶습니다! 하시면 이렇게 사용하시면 됩니다.


정리하다

이점

  • 세트는 중복 값을 허용하지 않습니다. 데이터 고유성 보장하다.
  • 컬렉션은 검색 및 필터링에 유용합니다.배열과 달리 컬렉션에는 값이 있습니다. 반복되지 않는 특성으로 인해 값 검색이 빠르고 쉽습니다..
  • Set은 고유한 값의 집합을 나타내기 때문에 수학적 집합 연산 지원하다.

피해

  • 집합이 값으로 정렬되지 않습니다. 따라서 값을 순서대로 가져와야 하는 경우 Set을 정렬된 배열로 변환해야 합니다..
  • Set에서 값이 추가되거나 제거되면 값의 위치가 변경될 수 있습니다(정렬되지 않았기 때문입니다!). 따라서 Set은 순서가 중요한 데이터 처리에는 적합하지 않습니다.
  • Set은 값에 대한 빠른 액세스를 제공하지만 인덱스를 사용하여 특정 위치의 값을 직접 얻을 수 없음하다. 따라서 특정 값을 찾으려면 Set을 반복해야 합니다.

따라서 상황에 따라 Array를 사용할지 Set을 사용할지 결정하고 코드를 작성할 수 있습니다!