•Array - 순서가 있는 리스트 컬렉션
•Dictionary - '키'와 '값'의 쌍으로 이루어진 컬렉션
•Set - 순서가 없고, 멤버가 유일한 컬렉션
1. Array
•멤버가 순서(인덱스)를 가진 리스트 형태의 컬렉션 타입
•여러가지 리터럴 문법을 활용할 수 있어 표현 방법이 다양함
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | // 1. Array 선언 및 생성 var array: Array<Int> = Array<Int>() // 동일표현 var array: Array<Int> = [Int]() var array: Array<Int> = [] var array: [Int] = Array<Int>() var array: [Int] = [Int]() var array: [Int] = [] var array = [Int]() // 2. Array 활용 array.append(1) array.append(199) print(array) // [1, 199] // 멤버 포함 여부 확인 print(array.contains(1)) // true print(array.contains(20)) // false // 멤버 교체 array[0] = 10 // 멤버 삭제 array.remove(at: 0) // 지정 삭제 array.removeLast() // 마지막 삭제 array.removeAll() // 전체삭제 // 멤버 수 확인 print(array.count) // 인덱스를 벗어나 접근하려면 Exception Runtime Error 발생 array(0) // 3. 불변 Array: let을 사용하여 Array 선언 let immutableArray = [1, 2, 3] // 불변 Array 는 수정할 수 없습니다. | cs |
2. Dictionary
•'키'와 '값'의 쌍으로 이루어진 컬렉션 타입
•Array 와 비슷하게 여러가지 리터럴 문법을 활용할 수 있어 표현 방법이 다양
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | // 1. Dictionary 의 선언과 생성 // Key가 String 타입이고 Value가 Any인 빈 Dictionary 생성 var anyDictionary: Dictionary<String, Any> = [String:Any]() // 동일 표현 var anyDictionary: Dictionary<String, Any> = Dictionary<String, Any>() var anyDictionary: Dictionary<String, Any> = [:] var anyDictionary: [String:Any] = Dictionary<String, Any>() var anyDictionary: [String:Any] = [String:Any]() var anyDictionary: [String:Any] = [:] var anyDictionary: [String:Any]() // 2. Dictionary 활용 // 키에 해당하는 값 할당 anyDictionary["someKey"] = "value" anyDictionary["anohterKey"] = 100 print(anyDictionary) // ["someKey":"value", "anotherKey":100] // 키에 해당하는 값 변경 anyDictionary["someKey"] = "dictionary" print(anyDictionary) // ["someKey":"dictionary", "anotherKey":100] // 키에 해당하는 값 제거 anyDictionary.removeValue(forKey:"anotherKey") anyDictionary["someKey"] = nil print(anyDictionary) // 3. 불변 Dictionary: let을 사용하여 Dictionary 선언 let emptyDictionary: [String:String] = [:] let initializedDictionary: [String:String] = ["name":"jinun", "gender":"male"] // 불변 Dictionary이므로 값 변경 불가 | cs |
3. Set
•중복되지 않는 멤버가 순서없이 존재하는 컬렉션
•Array, Dictionary 와 다르게 축약형이 존재하지 않음
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | // 1. Set 생성 및 선언 var intSet: Set<Int> = Set<Int>() // insert: 새로운 멤버 입력 // 동일한 값은 여러번 insert 해도 한번만 저장됨 intSet.insert(1) intSet.insert(10) intSet.insert(10) intSet.insert(100) print(intSet) // {1, 10, 100} // contains: 멤버 포함 여부 확인 print(intSet.contains(1)) // true print(intSet.contains(99)) // false // remove: 멤버 삭제 intSet.remove(10) // {100, 1} intSet.removeFirst() // {1} // count: 멤버 개수 intSet.count // 1 // 2. Set 의 활용 // 멤버의 유일성이 보장되기 때문에 집합 연산에 활용하면 유용 let setA: Set<Int> = [1, 2, 3, 4, 5] let setB: Set<Int> = [3, 4, 5, 6, 7] // 합집합 let union: Set<Int> = setA.union(setB) print(union) // [2, 4, 5, 6, 7, 3, 1] // 합집합 오름차순 정렬 let sortedUnion: [Int] = union.sorted() print(sortedUUnion) // [1, 2, 3, 4, 5, 6, 7] // 교집합 let intersection: Set<Int> = setA.intersection(setB) print(intersection) // [5, 3, 4] // 차집합 let subtracing: Set<Int> = setA.subtracing(setB) print(subtracing) // [2, 1] | cs |
❖출처: http://blog.yagom.net/
제 나름대로 생각을 정리하며 포스팅합니다.
정보전달에 있어 차질이 생기는 것을 우려해 나름대로 확실하게 검증을 하고 포스팅하려고 노력합니다.
본 포스팅에 잘못된 정보가 있거나 수정해야할 내용이 있다면 댓글 또는 아래의 이메일로 알려주시면 감사하겠습니다.
E-mail : silent_lhr@naver.com
공감은 로그인이 필요없습니다.
공감은 저에게 포스팅을 이어나갈 수 있는 힘이 됩니다.
'프로그래밍 [KOR] > Swift' 카테고리의 다른 글
Swift의 함수 고급 (0) | 2018.10.02 |
---|---|
Swift의 함수 (0) | 2018.10.02 |
Swift의 Any. AnyObject, nil (0) | 2018.10.01 |
Swift의 기본 데이터 타입 (0) | 2018.10.01 |
Swift의 변수와 상수 (0) | 2018.10.01 |