티스토리 뷰

반응형


Swift에서 딕셔너리는 키와 값의 쌍으로 이루어진 컬렉션 타입입니다. 딕셔너리는 순서가 없으며, 키는 고유하고 해시 가능해야 합니다. 딕셔너리를 사용하면 키를 통해 값에 빠르게 접근할 수 있습니다.

딕셔너리를 생성하는 방법은 여러 가지가 있습니다. 가장 간단한 방법은 리터럴 문법을 사용하는 것입니다. 예를 들어, 다음과 같이 문자열을 키로 하고 정수를 값으로 하는 딕셔너리를 만들 수 있습니다.

var scores = ["Alice": 90, "Bob": 80, "Charlie": 85]

또는 딕셔너리 타입의 이니셜라이저를 사용하여 빈 딕셔너리를 생성하거나, 키와 값의 배열을 전달하여 딕셔너리를 생성할 수도 있습니다.

var emptyDict = [String: Int]()
var namesAndAges = Dictionary(uniqueKeysWithValues: [("Anna", 25), ("Brian", 28), ("Cathy", 32)])

딕셔너리에 새로운 요소를 추가하거나 수정하려면, 키를 대괄호 안에 넣고 값을 할당하면 됩니다. 만약 키가 이미 존재한다면, 값이 업데이트됩니다. 만약 키가 존재하지 않는다면, 새로운 요소가 추가됩니다.

scores["David"] = 75 // 새로운 요소 추가
scores["Alice"] = 95 // 기존 요소 수정

딕셔너리에서 요소를 삭제하려면, 키를 대괄호 안에 넣고 nil을 할당하면 됩니다. 또는 removeValue(forKey:) 메서드를 사용하여 삭제하고 삭제된 값을 반환받을 수도 있습니다.

scores["Bob"] = nil // 요소 삭제
let removedValue = scores.removeValue(forKey: "Charlie") // 요소 삭제 및 반환

딕셔너리에서 요소에 접근하려면, 키를 대괄호 안에 넣고 값을 가져오면 됩니다. 하지만, 키가 존재하지 않을 수도 있으므로, 반환값은 옵셔널 타입입니다. 옵셔널 바인딩이나 옵셔널 체이닝을 사용하여 안전하게 값을 언래핑할 수 있습니다.

let aliceScore = scores["Alice"] // 옵셔널 타입
if let bobScore = scores["Bob"] { // 옵셔널 바인딩
print(bobScore)
}
print(scores["Charlie"] ?? 0) // 옵셔널 체이닝

딕셔너리의 모든 키와 값에 접근하려면, keys와 values 프로퍼티를 사용하면 됩니다. 이 프로퍼티들은 각각 딕셔너리의 키와 값의 컬렉션을 반환합니다. 이 컬렉션들은 순서가 없으므로, 정렬된 순서로 접근하려면 sorted() 메서드를 사용해야 합니다.

let keys = scores.keys // 키의 컬렉션
let values = scores.values // 값의 컬렉션
for key in keys.sorted() { // 정렬된 키 순회
print(key)
}
for value in values.sorted() { // 정렬된 값 순회
print(value)
}
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
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
글 보관함