【发布时间】:2016-12-28 16:46:17
【问题描述】:
只是想知道字典在 Swift 中是如何排序的。例如以下代码。
var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic"]
occupations["Jayne"] = "Pirate"
for (name, occupation) in occupations{
print("\(name) is a \(occupation)")
}
结果是这样的
Kaylee is a Mechanic
Malcolm is a Captain
Jayne is a Pirate
我的问题是成立的。循环如何决定哪个名称(或键)将首先通过上述循环?
【问题讨论】:
-
developer.apple.com/library/content/documentation/Swift/…: “字典存储了没有定义顺序的集合中相同类型的键和相同类型的值之间的关联。”我>
-
阅读哈希表,这是 Swift 的
Dictionary用来存储元素的。一个元素在表中的位置主要取决于它的哈希和表中的桶数,其次取决于哈希表如何处理冲突。 -
如果你只是好奇也没关系,但请记住,你永远不应该编写依赖于字典顺序的代码。由于没有定义顺序,他们完全有权更改操作系统/语言版本之间的顺序。
标签: swift sorting dictionary