본문 바로가기

# 02/Swift

[Swift] 컬렉션 타입

반응형

Array - 순서가 있는 리스트 컬렉션

 

Dictionary - 키와 값의 쌍으로 이루어진 컬렉션

 

Set - 순서가 없고, 멤버가 유일한 컬렉션

 

 

 

 

var integers: Array<Int> = Array<Int>()

 

integers.append(1)    // 맨 뒤에 추가

integers.append(100)

 

integers.contains(100)    // true - 값이 있는지 없는지 알 수 있다.

 

integers.remove(at: 0)

integers.removeLast()

integers.removeAll()

 

integers.count

 

integers[0] // 에러 발생 - 빈 리스트 이기 때문 접근 불가

 

 

// Array 다양한 생성 방법

var doubles: Array<Double> = [Double]()

 

var strings: [String] = [String]()

 

var characters: [Character] = []

 

 

// 변경 불가능한 Array

let immutableArray = [1, 2, 3]

 

 

 

 

 

 

 

var anyDictionary: Dictionary<String, Any> = [String: Any]()

 

anyDictionary["someKey"] = "value"

anyDictionary["anotherKey"] = 100

 

anyDictionary["someKey"] = "value2"    // 재할당

 

anyDictionary.removeValue(forKey: "anotherKey")

anyDictionary["someKey"] = nil    // removeValue 와 같음

 
let emptyDictionary: [String: String] = [:]    // 빈 딕셔너리
let initalizedDictionary: [String: String] = ["name": "joy", "gender": "male"]

 

 

let someValue: String = initalizedDictionary["name"]  

// 에러 발생 - 이유는 name 에 해당하는 값이 없을 수도 있기 때문에 불확실성 때문에 막고있음.

 

 

 

 

 

 

 

// 축약 문법 없음

var integerSet: Set<Int> = Set<Int>()

integerSet.insert(1)

 

integerSet.contains(1)    // true

 

integerSet.remove(1)

integerSet.removeFirst()

 

integerSet.count

 

 

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)

 

 

// 정렬 합집합

let sortedUnion: [Int] = union.sorted()

 

 

// 교집합

let sortedUnion: [Int] = union.sorted()

 

 

// 차집합

let subtracting: Set<Int> = setA.subtracting(setB)

 

 

 

Dart

- List

- Map

- Set
반응형

'# 02 > Swift' 카테고리의 다른 글

[Swift] 조건문  (0) 2020.06.04
[Swift] 함수  (0) 2020.06.04
[Swift] Any, AnyObject, nil  (0) 2020.06.04
[Swift] 기본 데이터 타입  (0) 2020.06.04
[Swift] 상수와 변수  (0) 2020.06.04