5. Swift 집합 (Sets)

Swfit 2017. 8. 4. 11:45

5. Swift 집합 (Sets)


  • 집합은 같은 타입의 서로 다른 값을 중복 없이 저장하고자 할 때 사용하는 집단 자료형이다. 배열과 많이 유사 하지만 배열을 사용하기에는 순서가 그다지 중요하지 않은 데이터들이거나 중복 없이 한 번만 저장되어야 하는 데이터들을 다룰 때 배열 대신 사용 할 수 있는 자료형이다.


//배열을 집합으로 변환

var generes = Set<String>( )

if genres.isEmpty {
    print(“집합이 비어있다.”)
}else{
    print(“집합에는 현재 (genres.count) 개의 아이템이 저장되어 있다”)


// 집합에 데이터 추가
var genres : Set = [“aaa”,”bbb”,”ccc”]

for g in genres {
    print(“\(g)”)
}

// aaa
   bbb
   ccc



// 집합의 데이터 삭제
var genres : Set = [“aaa”,”bbb”,”ccc”]

if let removedItem = genres.remove(“ccc”){
    print(“아이템 \(removedItem) 의 삭제가 완료 되었습니다.)
}else {
    print(“삭제할 값이 집합에 추가되어 있습니다.”)
}

generes.removeAll() 집합의 모든 값 삭제



// 집합의 연산
var oddDigits : Set = [1,3,5,7,9,] //홀수 집합
let evenDigits : Set = [0,2,4,6,8] //짝수 집합
let primeDigits : Set = [2,3,5,7] //소수 집합

  • intersection : 두 집합의 공통된 부분만 선택하여 집합을 만들어 준다.
oddDigits.intersection(evenDigits).sorted( ) 
// 결과값 [ ]   -> 비어있음
// oddDigits 과 evenDigits 의 공통된 부분이 없어 집합이 만들어 지지 않았다.

  • symmetricDifference : 두 집합의 공통된 부분만 선택하여 집합을 만들어 준다.
oddDigits.symmetricDifference(primeDigits).sorted( ) 
// 결과값 [1,2,9 ] 
// oddDigits 과 primeDigits 양 쪽의 집합에서 공통된 부분만 빼고 나머지를
   선택하여 집합으로 만들어 준다.

  • union : 두 집합의 모든 부분을 선택하여 집합을 만들어 준다.
oddDigits.symmetricDifference(evenDigits).sorted( ) 
// 결과값 [0,1,2,3,4,5,6,7,8,9] 
// oddDigits 과 evenDigits 양 쪽의 집합의 모든 부분을 집합으로 만들어 준다.

  • subtract : 한쪽 집합의 모든 아이템 에서 다른 집합과 공통된 부분을 뺀 나머지 부분의 집합니다.
oddDigits.subtract(primeDigits)
oddDigits.sorted()
// 결과값 [1,9]
// oddDigits 에서 primeDigits 과의 공통된 부분을 뺀 나머지 집합이다.



'Swfit' 카테고리의 다른 글

7. Swift 옵셔널 (Optional)  (0) 2017.08.04
6. Swift 튜플 (Tuple)  (0) 2017.08.04
4. Swift 배열 (Array)  (0) 2017.08.04
3. Swift 연산자  (0) 2017.08.04
2. Swift 기본 문법  (0) 2017.08.04

설정

트랙백

댓글