为什么使用NSArray而不是NSOrderedSet

时间:2016-02-11 15:00:27

标签: ios cocoa-touch

在线上有很多好文章,包括这篇文章:http://nshipster.com/nsorderedset/我们仍然希望NSArray优先于NSOrderedSet

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

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

2 个答案:

答案 0 :(得分:5)

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

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

迭代:1000000

NSMutableOrderedSet:782毫秒
数:999868

NSMutableArray:112毫秒
数:1000000

请注意,NSMutableOrderedSet有132个重复项被拒绝。

答案 1 :(得分:-1)

阵列

 It is ordered index collection.
 It allows duplicate.

 It is unordered collection.
 It does not allow duplicate.It is unique.