Swift에서 Collection Type은 배열, set, dictionary 3가지로 볼 수 있음.
배열은 축약형으로도 쓰이며, 사실상 가장 많이 쓰는 타입.
let myArray = [1, 2, 3, 4] //데이터 타입 생략 가능
var iArray: [Int] //가능
/* 콜렉션 타입 */
//Array: 순서가 있는 리스트 컬렉션
var intArray: Array<Int> = Array<Int>()
intArray.append(1) //첫 공간에 1 입력
intArray.append(100) //다음 공간에 100 입력
//print("intArray 배열에 '100'이 있나요?: \(intArray.contains(100))") //contains
intArray.remove(at: 0) //0번째 값 삭제(1 삭제)
intArray.removeLast() //마지막 값 삭제(100삭제)
intArray.removeAll() //모든 값 삭제
//print("intArray 배열에 들어있는 항목 수: \(intArray.count)") //값이 들어있는 배열 수
var charArray: [Character] = []//빈 문자 어레이 생성(축약)
charArray.append("A")
//dictionary: 키와 값의 쌍으로 이루어진 컬렉션
//문자열 타입의 키와 any타입의 빈 dictionary 선언
var anyDictionary:Dictionary<String, Any> = [:]
anyDictionary["1key"] = 3 //첫 키와 값을 각각 1key:3으로 입력
//set: 순서가 없고 멤버가 유일한 컬렉션
//set는 축약 문법이 없음
var intSet1: Set<Int> = Set<Int>() //정수형 set 선언
let intSet2: Set<Int> = [1, 2, 3] // 상수로 set 값 설정
intSet1.insert(1) //intSet1 첫 값에 '1' 입력
intSet1.insert(4) //intSet1 다음 값에 '4' 입력
intSet1.insert(4) //위의 삽입값과 중복되는데, set은 중복값은 처리되지 않음
//set은 집합으로 많이 이용됨.
let unionSet: Set<Int> = intSet1.union(intSet2) //합집합 [1, 2, 3, 4]
let sortedUnion: [Int] = unionSet.sorted() //unionSet을 정렬함
let intersection: Set<Int> = intSet1.intersection(intSet2) //교집합 [1]
let subtracting: Set<Int> = intSet1.subtracting(intSet2) //차집합 [2, 3]
print(sortedUnion, intersection, subtracting)