我创建了2个包含String
的集合,如下所示
let set1 : Set<String> = (["07:00", "QShift", "PRN"])
let set2 : Set<String> = (["07:15", "QShift", "PRN"])
首先,我认为每个集合中字符串的顺序与添加时的顺序完全相同。但是我错了set1
,控制台给了我这个
Printing description of set1:
▿ 3 elements
- [0] : "QShift"
- [1] : "PRN"
- [2] : "07:00" { ... }
Printing description of set2:
▿ 3 elements
- [0] : "07:15"
- [1] : "QShift"
- [2] : "PRN" { ... }
有谁知道为什么set1
中的字符串顺序已更改为QShift, PRN, 07:00
?
答案 0 :(得分:8)
因为Set
是无序数据结构。
Set参考:
集合在集合中存储相同类型的不同值,没有定义的顺序。当项目的顺序不重要时,或者当您需要确保项目只出现一次时,您可以使用集合而不是数组。
您应该查看NSOrderedSet类引用,了解更多API:
NSOrderedSet及其子类NSMutableOrderedSet将编程接口声明为有序的对象集合。
答案 1 :(得分:0)
应该适合您的需要。