안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
컬렉션 두 번째 Set입니다.
Set 은 아래처럼 선언합니다.
var fruitSet = Set<String>()
값을 넣을 때
fruitSet.insert("Apple")
fruitSet.insert("Banana")
어떤 값이 있는지 체크할 때
fruitSet.contains("Apple")
삭제할 때
fruitSet.remove("Apple")
fruitSet.removeFirst()
갯수가 궁금할 때
fruitSet.Count
또는 Arrays 처럼 선언과 동시에 값을 줄 수도 있습니다.
var fruitSet2 : Set<String> = ["Apple", "Banana", "Melon", "Pear"]
그리고
var fruitSet2 : Set = ["Apple", "Banana", "Melon", "Pear"] 처럼
사용해도 되지만 되도록이면 어떤값을 넣어줄 건지 전자처럼 <> 다이아몬드 태그 안에
타입을 명시적으로 표현해서 사용하는 것이 좋습니다.
그리고 Set은 값의 중복을 허용하지 않습니다.
var name : Set<String> = ["알통몬", "근육몬", "괴력몬", "알통몬"]
위처럼 "알통몬" 이라는 값이 두 번 선언되었다면
인식은 한 번 밖에 인정되지 않습니다.
Set 은 또한 아래 메소드들을 제공해요.
합집합, 교집합, 차집합, 정렬
ex)
let setA : Set[Int] = [10, 20, 30, 40, 50]
let setB : Set[Int] = [30, 40, 50, 60, 70]
let setUnion : Set[Int] = setA.union(setB) // [10, 20, 30, 40, 50, 60, 70]
위처럼 순서대로 나오는게 아니라 아무렇게나 나옵니다.
때문에 위처럼 정렬하고 싶을 때는 sorted() 메소드를 사용하면 됩니다.
let sortedSetUnion : Set[Int] = setUnion.sorted() //[10, 20, 30, 40, 50, 60, 70]
교집합
setA.intersection(setB)
차집합
setA.subtracting(setB)
결과는 실행시켜 보시면 알 수 있겠죠?? ㅎㅎ
틀린부분은 아낌없이 지적부탁드립니다!
'Swift3(스위프트3)' 카테고리의 다른 글
swift3 스위프트3 함수 function 선언과 호출 (0) | 2017.07.04 |
---|---|
Swift3 스위프트3 Any, AnyObject, nil (0) | 2017.07.03 |
swift3 스위프트3 Collections - Dictionary 딕셔너리 (0) | 2017.07.03 |
swift3 스위프트3 Collections - Array 컬렉션 배열 (0) | 2017.07.03 |
swift3 스위프트3 변수와 상수 (0) | 2017.07.02 |