var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic",
]
occupations["Jayne"] = "Public Relations"
occupations的最终结果是:
["Kaylee": "Mechanic", "Jayne": "Public Relations", "Malcolm": "Captain"]
我的问题:
- var occupations 是 Map 吗?
- 添加新项目的顺序是什么?
最佳答案
根据您的编程背景,现有的答案很可能令人困惑。
var occupations = [ "Malcolm": "Captain", "Kaylee": "Mechanic", ] occupations["Jayne"] = "Public Relations"
鉴于该代码片段,occupations
的类型是 Swift Dictionary .正如其他答案所指出的那样,Swift 中的字典是键值对的集合。
其他语言也有类似的数据结构,但可能用不同的名称来指代它。
这个 list 还可以继续下去。但这些都代表大致相同的数据结构:键值对的存储。
在 Swift 中,字典没有顺序。您从打印或迭代字典中的项目中注意到的任何感知的顺序都是——感知的。它不应该被依赖。
如果你需要一个有序的字典,你需要自己实现它。尽管我确定有人可能已经实现了它,并且您可以在 github 上找到它。有序数据对的一个非常简单的实现可以简单地涉及一个元组数组,但是您将无法像使用字典那样执行相同的键查找。
这里重要的是 Swift 字典中没有定义数据的顺序,因此不应依赖正在发生的任何感知顺序。
关于swift - 在 swift 中以什么顺序将项目添加到 "map"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36967733/