본문 바로가기
Swift랑 친해지기/Swift 책보면서 정리해보기

[집단자료형] 딕셔너리의 순회 탐색 (Swift)

by 데브킹덕 2022. 1. 29.

딕셔너리에 저장된 아이템끼리는 순서가 없지만

 

아이템을 튜플 형식으로 저장할 때 내부적으로 

 

키를 바탕으로 한 해시 연산 값을 기준으로 정렬하기 때문에

 

이 특성을 사용하면 순회 탐색을 할 수 있음 

 

딕셔너리를 직접 사용하여 탐색하는 방식으로 for ~ in 구문을 작성하면 순회탐색 가능

 

//딕셔너리의 순회 기능을 사용하여 순회 탐색을 실행함
for row in newCapital {
	// 딕셔너리에서 꺼낸 키 - 값 한쌍이 담긴 row 상수를 튜플로 받는다 
	let (key, value) = row
	print("현재 데이터는 \(key) : \(value)입니다")
}

 

for 구문이 반복되면 딕셔너리에 저장된 아이템이 차례대로 row 상수에 대입됨

 

딕셔너리는 키와 값으로 이루어진 아이템을 내부에 저장할 때 튜플 타입으로 저장하므로

순회탐색을 실행하면 차례대로 튜플 타입으로 된 키 - 값이 row 상수에 할당됨

 

할당된 row 상수로부터 데이터를 키와 값으로 분리해내기 위해 (key, value)의 개별 변수로 구성된

튜플로 값을 할당하는 구문이 다시 사용되고, 이 과정을 거쳐 키는 key변수에, 값은 value 변수에 

할당됨 

 

개별 튜플  상수 (key, value)를 정의하여 키-값으로 할당 받을 수 있음

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

}

row 상수에 딕셔너리 키-값 한쌍을 담은 후 이를 개별 튜플 변수로 변환하는 과정을 거쳐

키와 값으로 분리해냈지만 한번에 처리함

 

⚠️주의⚠️

딕셔너리 는 고유 키에 대한 해시 처리 값을 기준으로 내부 정렬하기 때문에 

데이터가 우리가 생각하는 순서대로 저장되지 않을 수 있음