Skip to main content

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 프로그래밍에서 중요한 역할을 합니다.