잡초의 일지

[Swift] Collection : Set 본문

[코딩] 배우는것/Swift

[Swift] Collection : Set

JabCho 2020. 7. 9. 18:17
728x90
반응형
SMALL

Set

순서 없음. 유닉(unique)한 값을 가진 타입.

중복이 없는 유닉(unique)한 아이템들 관리할 때 사용.

 

Set 선언

var someSet: Set<Int> = [1, 2, 3, 1]        //중복되는거 없어짐. 2, 3, 1 출력됌.

//var someArray: Array<Int>  = [1, 2, 3, 1]       // array랑 모양이 비슷함.

 

Set 값 추가 ( insert)

someSet.insert(5)

 

Set 값 삭제 ( remove / delete )

someSet.remove(1)

 

Set 값 확인

isEmpty

someSet.isEmpty

count

someSet.count

contains

someSet.contains(4)		//false
someSet.contains(1)		//true

 

Set 연산

애플 공홈 설명

  • Use the intersection(_:) method to create a new set with only the values common to both sets. //교집합(a∩b)
  • Use the symmetricDifference(_:) method to create a new set with values in either set, but not both. //ㄱ(a∩b)
  • Use the union(_:) method to create a new set with all of the values in both sets. //합집합(a∪b)
  • Use the subtracting(_:) method to create a new set with values not in the specified set. //(a-b) = (a - (a∩b) )
let oddDigits: Set = [1, 3, 5, 7, 9]
let evenDigits: Set = [0, 2, 4, 6, 8]
let singleDigitPrimeNumbers: Set = [2, 3, 5, 7]

oddDigits.union(evenDigits).sorted()
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
oddDigits.intersection(evenDigits).sorted()
// []
oddDigits.subtracting(singleDigitPrimeNumbers).sorted()
// [1, 9]
oddDigits.symmetricDifference(singleDigitPrimeNumbers).sorted()
// [1, 2, 9]

 

 

 

----------------------------------------------------------------------------------------------------------------------------

연습

import UIKit

/***** Set 선언 *****/
// Set 에는 순서가 없다.
var evenNum: Set<Int> = [2, 4, 6, 8, 10]
var oddNum: Set<Int> = [1, 3, 5, 7, 9]
var num1:Set<Int> = [1, 2, 3]
var num2:Set<Int> = [4, 3, 2, 7]

/***** Set 값 확인 *****/
evenNum.count
evenNum.isEmpty     // false
evenNum.contains(4)     // true
evenNum.contains(5)     // false

/***** Set 에 값 추가 *****/
evenNum.insert(12)
oddNum.insert(11)

/***** Set 에서 값 제거 *****/
evenNum.remove(2)
oddNum.remove(5)

/***** Set 연산 *****/
num1.intersection(num2)        // num1과 num2의 교집합
num1.union(num2)                // num1과 num2의 합집합
num1.symmetricDifference(num2)        // num1과 num2의 합집합에서 num1과 num2의 교집합을 뺀것.
num1.subtracting(num2)               // num1-num2 (num1 에서 num1과 num2의 교집합을 뺀것.)

----------------------------------------------------------------------------------------------------------------------------

728x90
반응형
LIST

'[코딩] 배우는것 > Swift' 카테고리의 다른 글

[Swift] Structure 구조체  (0) 2020.07.10
[Swift] Closure 클로저  (0) 2020.07.09
[Swift] Collection : Dictionary  (0) 2020.07.09
[Swift] Collection : Array  (0) 2020.07.09
[Swift] Optional 옵셔널  (0) 2020.07.08
Comments