wift 정리 - Collection Types
Swift는 Array
, Set
, Dictionary
3 가지의 컬렉션을 제공한다.
Array
- 선언
let someInts = [Int]()
// let someInts: [Int] = []
// let someInts = Array<Int>()
// someInts : []
let someStrings = [String](repeating: "A", count: 3)
// let someStrings = Array(repeating: "A", count: 3) <- 타입 추론
// someStrings : ["A", "A", "A"]
let someDoubles: [Double] = [1.0, 2.0, 3.0]
// let someDoubles = [1.0, 2.0, 3.0] <- 타입 추론
enumerated()
배열의 값과 인덱스로 이루어진 튜플로for-in
loop을 순회
let animals = ["Dog", "Cat", "Bird"]
for (index, value) in animals.enumerated() {
print("animal \(index + 1) : \(value)"}
}
// animal 1 : Dog
// animal 2 : Cat
// animal 3 : Bird
Set
hasable
데이터를 담을 수 있는 집합 형태의 자료구조
- 선언
let someInts = Set<Int>()
// someInts : []
let someStrings: Set<String> = ["A", "B", "C"]
// let someStrings: Set = ["A", "B", "C"]
// someStrings : ["B", "A", "C"]
Set
은 넣은 순서대로 값이 나올거라는 보장이 없다.
-
명령
- 교집합
intersection
- 대칭차
symmetricDifference
- 합집합
union
- 차집합
subtracting
- 교집합
-
기타 포함 관계 및 비교 메서드들이 존재
Dictionary
Swift
의 Dictionary
는 NSDictionary
를 브릿지한 타입
[Key : Value] 형태로 이루어진 자료구조이고, 이 때 Key는 hasable
- 선언
let someIntWithName = [String : Int]()
// let someIntWithName: [String : Int] = [:]
// someIntWithName : [:]
var airports: [String : String] = ["YYZ" : "Toronto Pearson", "DUB" : "Dublin"]
// airports : ["YYZ" : "Toronto Pearson", "DUB" : "Dublin"]
딕셔너리 또한 넣은 순서대로 값이 나올거라는 보장이 없다.
-
접근
let value = dictionary["key"]
형식을 통해 키에 대응하는 값을 받아옴.
키가 존재하지 않으면value
에nil
담김. ->value
는 옵셔널-
updateValue(_:forKey:) -> Value?
두 번째 인자로 주어지는 키 값이 있을 경우 대응하는 Value값을 변경하고,
키 값이 없을 경우 새로 [Key : Value] 를 추가함. -
removeValue(forKey:) -> Value?
인자로 주어지는 키 값이 있을 경우 해당 목록을 삭제하고,
없을 경우 그냥 넘어감.
removeAll()
을 통해 모두 지워줄 수 있다.- 두 메서드 모두 반환 값은
기존 키 값이 존재했던 경우 그 값을,
존재하지 않았던 경우nil
을 반환
- 두 메서드 모두 반환 값은
-
Author And Source
이 문제에 관하여(wift 정리 - Collection Types), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yy0867/Swift-정리-Collection-Types저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)