2017-04-11 84 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