2017-04-11 63 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」鍵值,那麼它會返回一個值?

這就是爲什麼在所有的語言中,字典確保總是隻有一個鍵。

如果您爲同一個鍵設置了值,它將覆蓋以前的值,而不是使用相同的鍵插入新值。


加成

如果你把你的代碼在操場上就會觸發一個錯誤

fatal error: Dictionary literal contains duplicate keys