← 아카이브로 돌아가기

Development · Swift

Swift 컬렉션: Array, Dictionary, Set

순서, 키와 값, 중복 허용 여부를 기준으로 Swift의 Array, Dictionary, Set을 비교하고 기본적인 추가·조회·삭제 방법을 정리합니다.

Velog 원문 보기 ↗

Development 아카이브 표지

Swift의 대표적인 컬렉션은 Array, Dictionary, Set이다. 저장할 데이터에 순서가 필요한지, 키로 찾아야 하는지, 중복을 허용할지에 따라 선택한다.

Array: 순서가 있는 목록

var numbers: [Int] = []
numbers.append(3)
numbers.append(10)
numbers[0] = 7
numbers.contains(10) // true
numbers.removeLast()

Array는 순서를 유지하고 정수 인덱스로 접근하며 같은 값을 여러 번 저장할 수 있다. 유효하지 않은 인덱스 접근은 실행 중 오류를 만든다.

Dictionary: 키와 값의 연결

var words: [String: String] = [:]
words["elephant"] = "코끼리"
let value = words["elephant"] // String?
words.removeValue(forKey: "elephant")

키에 대응하는 값이 없을 수 있으므로 조회 결과는 옵셔널이다.

Set: 중복 없는 집합

let a: Set<Int> = [1, 2, 3, 4]
let b: Set<Int> = [2, 4, 6]
a.union(b)
a.intersection(b)
a.subtracting(b)

Set은 순서를 보장하지 않고 중복을 허용하지 않는다. 목록의 위치가 중요하면 Array, 키로 값을 찾으면 Dictionary, 고유한 값과 포함 여부가 중요하면 Set을 선택한다.

← 아카이브로 돌아가기