반응형
Set
Set 타입 또한 Array처럼 여러 개의 값을 저장하지만,
순서와 중복 없이 값을 저장한다는 차이점이 있다.
// Set type 변수 선언 & 초기화 방법 1
var names = Set<String>()
names.insert("baby")
names.insert("coder")
names.insert("baby")
// Set type 변수 선언 & 초기화 방법 2
var names2: Set = ["name1", "name2", "name2", "name2"]
Array와 유사하게 선언한다.
첫 번째 선언 방법으로는 insert()를 사용해서 값을 대입한다.
"baby"라는 값은 중복되기 때문에 names에 마지막으로 삽입한 "baby" 삽입되지 않게 된다.
결과적으로 names에는 "baby" , "coder" 두 개의 값만 삽입된다.
마찬가지로 두 번째 선언 방법으로는 "name1", "name2" 두 개의 값만 삽입된다.
// Set 연산
var setTestNum1: Set = [1, 2, 3, 4, 5]
var setTestNum2: Set = [3, 4, 5, 6, 7]
// 합집합
setTestNum1.union(setTestNum2)
// 결과 : {3, 2, 5, 4, 7, 1, 6}
// 교집합
setTestNum1.intersection(setTestNum2)
// 결과 : {5, 3, 4}
// 합집합 - 교집합 (대칭차집합)
setTestNum1.symmetricDifference(setTestNum2)
// 결과 : {7, 6, 1, 2}
// 여집합
setTestNum1.subtracting(setTestNum2)
// 결과 : {1, 2}
집합 연산을 위한 함수들이다.
Dictionary
Key와 Value로 구성이 되어있다.
Array는 0부터 순서대로 Index와 Value로 짝을 이룬다면,
Dictionary는 내가 임의로 이름을 붙일 수 있는 Key와 Value로 짝을 이루고 순서가 없다는 차이가 있다.
// Dictionary Type 선언
var cafeMenu = [String : Int]()
// 타입을 지정하지 않을 때 선언
// var cafeMenu = [String : Any]()
cafeMenu["아메리카노"] = 1500
cafeMenu["아이스아메리카노"] = 2000
cafeMenu["카페라떼"] = 2500
[Key Type : Value Type]
대괄호 안에 콜론(:) 왼쪽으로는 Key값의 타입을 지정하고,
콜론 오른쪽으로는 Value값의 타입을 지정하여 선언해준다.
타입을 지정하지 않고 String, Int 등등 여러 타입을 함께 써야되는 경우 Any를 넣어주면 된다.
var cafeMenu2 = ["아메리카노" : 1500, "아이스아메리카노" : 2000, "카페라떼" : 2500]
간결하게 선언과 동시에 값을 대입하는 방법도 있다.
반응형
'DEV - iOS > iOS' 카테고리의 다른 글
[Swift] 스위프트 기본 문법 공부(6) - Enumerations (0) | 2022.02.15 |
---|---|
[Swift] 스위프트 기본 문법 공부(5) - 함수 & 클로저 (0) | 2022.02.14 |
[Swift] 스위프트 기본 문법 공부(3) - Array (0) | 2022.01.09 |
[Swift] 스위프트 기본 문법 공부(2) (0) | 2022.01.04 |
[Swift] 스위프트 기본 문법 공부(1) (0) | 2021.12.27 |