为什么使用NSArray而不是NSOrderedSet

Rav*_*vul 1 cocoa-touch ios

在许多好文章网上,包括这一个:http://nshipster.com/nsorderedset/中指出,我们还是应该更喜欢NSArrayNSOrderedSet一般.

我注意到的一个优点是语法糖NSArray:@[obj1, obj2, ...]

那么它的其他优点是NSArray什么使它成为首选的集合管理器而不是NSOrderedSet,它似乎有很多好处(快速访问元素),它基本上包括NSArray功能?

zap*_*aph 6

我随机插入1,000,000个NSNumbers,发现NSMutableOrderedSet速度慢了大约7到10倍.随着时间越来越少,物品越来越近,1000件物品的时间慢了约2.5倍.访问时间很接近.

这些时间代表了我看到的NSMutableOrderedSet的最佳时间:

迭代:1000000

NSMutableOrderedSet:782毫秒
计数:999868

NSMutableArray:112毫秒
计数:1000000

请注意,有132个副本被拒绝NSMutableOrderedSet.