2017-04-11 2 views
-7

는이 같은 사전이 있습니다고유 한 사전 키를 찾는 방법은 무엇입니까?

var dictionary: [String: String] = ["one": "Value 1", "two": "value2", "two": "value3", "one": "value4"] 

가 어떻게 스위프트 3.0 사전에서 개별의 키를 찾을 수 있습니다을 ???

+8

스위프트 사전 복제 할 수 없습니다 키를 발사합니다. 그 중 하나만 보관됩니다. – kennytm

+1

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html#//apple_ref/doc/uid/TP40014097-CH8-ID113 : * "... 각 값이 연결됩니다. ** 고유 한 ** 키로 ... "* –

+0

감사합니다. kennytm – user3440589

답변

1

사전의 주요 목표는 항상 하나의 키만 사용하는 것입니다. 즉, 키는 항상 고유합니다.

이렇게하면 키 값을 검색 할 때 (기껏해야) O (1)를 사용하여 사전 내에서 매우 빠르게 검색 할 수 있습니다.

사전에서 키 복사본을 두 개 이상 허용하는 경우이 빠른 검색을 수행 할 수 없습니다. 만약 당신이 사전에 "A"라는 키 값을 물어 보면, 마녀 1이 반환 할 것이기 때문에 혼란 스러울 것입니다.

왜 모든 언어에서 사전은 항상 하나의 키만 있는지 확인해야합니다.

동일한 키의 값을 설정하면 이전 값이 무시되고 동일한 키가있는 새 값이 삽입되지 않습니다.


추가

당신이 놀이터에서 코드를 넣어 경우 오류를

fatal error: Dictionary literal contains duplicate keys 
관련 문제