dictionary
Swift의 Dictionary 타입: 깊이 이해하기
Swift에서 Dictionary
는 키-값 쌍을 저장하는 데 사용되는 컬렉션 타입입니다. 각 키는 고유해야 하며, 하나의 딕셔너리 내에서 각 키는 하나의 값을 가집니다. 이 구조는 데이터를 빠르게 검색하고, 쉽게 접근할 수 있게 해주어, 데이터의 관계를 효과적으로 조직화하는 데 매우 유용합니다.
Dictionary의 기본 사용
Swift의 Dictionary
는 키와 값의 타입을 명확하게 지정해야 합니다. 딕셔너리는 중괄호({}
)를 사용하여 정의되며, 각 키-값 쌍은 쉼표로 구분됩니다. 키와 값은 콜론(:
)으로 연결됩니다.
var capitals: [String: String] = ["France": "Paris", "Spain": "Madrid", "Japan": "Tokyo"]
Dictionary의 동적 조작
딕셔너리는 동적으로 키-값 쌍을 추가, 삭제 및 수정할 수 있습니다. 이는 앱이 런타임에 데이터를 조정해야 할 때 매우 유용합니다.
- 요소 추가 및 수정: 딕셔너리에 새로운 키-값 쌍을 추가하거나 기존 키의 값을 수정할 수 있습니다.
- 요소 제거: 특정 키-값 쌍을 제거하거나, 딕셔너리의 모든 내용을 비울 수 있습니다.
capitals["Germany"] = "Berlin" // 새 키-값 쌍 추가
capitals["Japan"] = "Kyoto" // 기존 키의 값 수정
capitals.removeValue(forKey: "Spain") // 키-값 쌍 제거
Dictionary의 순회 및 접근
딕셔너리를 순회하는 것은 각 키-값 쌍에 접근할 때 유용합니다. for-in
루프를 사용하여 딕셔너리의 각 요소에 접근할 수 있으며, 키와 값을 따로 또는 함께 추출할 수 있습니다.
for (country, capital) in capitals {
print("\(country)'s capital is \(capital)")
}
Dictionary의 고급 기능
Swift의 딕셔너리는 다양한 고급 기능을 제공하여 데이터를 더 효과적으로 관리할 수 있습니다.
- 필터링과 매핑:
filter
와map
같은 고차 함수를 사용하여 딕셔너리의 데이터를 가공할 수 있습니다. - 기본값:
Dictionary
의default
메서드를 사용하여 키가 존재하지 않는 경우에 대비한 기본값을 제공할 수 있습니다.
let interestingCapitals = capitals.filter { $0.value.starts(with: "P") }
print(interestingCapitals) // 특정 조건에 맞는 쌍만 필터링
let defaultCapital = capitals["USA", default: "Unknown"]
print("The capital of the USA is \(defaultCapital).")
결론
Swift의 Dictionary
는 데이터를 효과적으로 조직화하고 빠르게 접근할 수 있는 강력한 컬렉션 타입입니다. 딕셔너리를 사용함으로써, 개발자는 데이터의 관계를 명확히 표현하고, 필요한 정보를 신속하게 검색할 수 있습니다. 딕셔너리의 다양한 메서드와 속성은 복잡한 데이터 구조를 쉽게 관리하게 해주며, Swift 프로그래밍에서 중요한 역할을 합니다.