728x90
![]() |
|
컬렉션형
- 튜플을 제외한, 많은 수의 데이터를 묶어서 저장하고 관리할 수 있는 데이터 타입들
- 배열, 딕셔너리, 세트
1. Array
- 같은 타입의 데이터를 일렬로 나열한 후 순서대로 저장하는 타입
- Arrray<타입> 혹은 [타입] 과 같은 형태로 선언한다.
- 자바의 ArrayList 처럼 메서드를 통해서 동적으로 데이터를 append, remove하고 isEmpty나 count 등의 프로퍼티를 통해서 현재 배열의 크기를 파악하는 기능을 제공한다.
import UIKit
import Foundation
var array : [String] = ["Park", "Kim", "Lee", "Choi"]
array[2]//Lee
array.append("Jung")
array[4]//Jung
array.remove(at: 0)
array[0]//Kim
array.isEmpty//false
array.count//4
2. Dictionary
- 데이터들을 순서 없이 키, 값의 쌍으로 보관하는 타입
- 자료구조의 Map과 동일한 개념이다.
- 키는 중복이 되어선 안된다.
- Dictionary<키 타입, 값 타입> 혹은 [키 타입 : 값 타입] 의 형태로 선언한다.
import UIKit
import Foundation
var dictionary : Dictionary<String, Int> = ["Park" : 25, "Kim" : 23, "Lee" : 36]//선언 방법1
var dictionary2 : [String : Int] = ["Park" : 25, "Kim" : 23, "Lee" : 36]//선언 방법2
dictionary["Park"]//25
dictionary["Kim"] = 26//값 수정
dictionary["Choi"] = 55//추가 append
dictionary["Lee"] = nil //삭제
dictionary//["Kim": 26, "Park": 25, "Choi": 55]
3. Set
- 같은 타입의 데이터를 순서없이 중복을 허용하지 않고 보관하는 타입이다.
- 수학의 '집합' 개념과 동일하다.
- Set<값 타입> 의 형태로 선언한다. (딕셔너리, 배열과 달리 대괄호를 이용한 축약형 선언이 불가능)
- union, intersection 같은 메서드를 통해 집합 연산을 사용할 수 있다.
import UIKit
import Foundation
var set1 : Set<String> = ["Park", "Kim", "Lee"]
var set2 : Set<String> = ["Choi", "Jung", "Park"]
set1.contains("Park")//포함여부 확인 -> true
set1.isEmpty//false
set1.remove("Kim")//제거
set1//{"Park", "Lee"}
set1.intersection(set2)//교집합 연산 -> {"Park"}
set1.union(set2)//합집합 연산 -> {"Choi", "Park", "Lee", "Jung"}
728x90
'Swift' 카테고리의 다른 글
[Swift] Extension (0) | 2020.12.26 |
---|---|
[Swift] 열거형 (Enumeration) (0) | 2020.12.20 |
[Swift] Tuple 튜플 (0) | 2020.12.19 |
[Swift] 데이터 타입 고급 (0) | 2020.12.19 |
[Swift] 문서화 주석 (0) | 2020.12.19 |
댓글