본문 바로가기
FRONT-END/iOS

Javascript와 비교하며 Swift 공부하기 - Set편

by 랄라J 2023. 7. 8.

Set

// 정식 문법
let set: Set<Int> = [1,1,2,4]

// 단축 문법
let set: Set = [1,1,2,4]
  • 집합과 비슷한 연산을 제공하는 순서가 없는 컬렉션으로 서브스크립트 관련 문법이 없음
  • 요소값을 중복으로 넣어도, 집합의 의미상 중복 저장이 되지 않음, 각 요소는 유일한 값으로 Hashable
  • 값의 검색에 Hashing 알고리즘을 사용하므로 검색속도가 중요한 경우에 사용함

 

빈 Set 생성방법

let emptySet1: Set<Int> = []
let emptySet2= Set<Int>()

 

Set 기본 기능

  • set.count
  • set.isEmpty
  • set.contains(1)
  • set.randomElement()
  • set.update(with: 1)
  • set.remove("3")
  • set.removeAll()
  • set.sorted() -> set을 정렬하면 배열로 리턴함

집합 관련

  • b.isSubset(of: a) // b가 a의 부분집합인가?
  • b.isStrictSubset(of: a) // b가 a의 진부분집합인가? (a와 b가 동일하지 않으면서 부분집합인지 확인)
  • b.isSuperset(of: a) // b가 a의 상위집합인가?
  • b.isStrictSuperset(of: a) // b가 a의 진상위집합인가?
  • b.isDisjoint(with: a) // b와 c는 서로소니? (서로 완전히 다른지 확인)
  • b.union(a) // 합집합 만들기
  • b.formUnion(a) // 합집합 만들기, 원본변경
  • b.intersection(a) // 교집합 만들기
  • b.formIntersection(a) // 교집합 만들기, 원본변경
  •  b.subtracting(a) // 차집합 만들기
  • b.subtract(a) // 차집합 만들기, 원본변경
  • b.symmetricDifference(a) // 대칭차집합 만들기
  • b.formSymmetricDifference(a) // 대칭차집합 만들기, 원본변경
반응형

댓글