5.4.3 딕셔너리의 순회 탐색

딕셔너리에 저장된 아이템끼리는 순서가 없지만, 내부적으로 키를 바탕으로 해시 연산 값을 기준으로 정렬하므로 이 특성을 사용하면 순회 탐색을 할 수 있습니다. for~in 구문 사용 예제를 보겠습니다.

for row in newCapital {
    // 키-값 한 쌍이 담긴 row 상수를 튜플로 받는다
    let (key, value) = row
    print("현재 데이터는 \(key) : \(value)입니다")
}

위 예제를 중간 과정을 생략하여 작성할 수 있습니다.

for (key, value) in newCapital {
    print("현재 데이터는 \(key) : \(value)입니다")
}

이 방법이 훨씬 직관적이고 쉽습니다. 실제로 앱을 개발하면서 사용해야 할 코드는 이렇게 불필요한 과정을 제거한 코드가 될 것입니다.

위 코드의 실행 결과를 살펴보겠습니다

현재 데이터는 EN : London입니다
현재 데이터는 KR : Seoul입니다
현재 데이터는 JP : Sapporo입니다

앞서 예제에서 JP라는 키와 값을 먼저 입력했지만 출력 결과는 그렇지 않습니다. 입력한 순서와 다르게 결과각 출력됩니다. 기본적으로 딕셔너리는 고유 키에 대한 해시 값을 기준으로 내부 정렬하기 때문에 우리가 생각한 대로 정렬되지 않습니다.

Last updated