NSSet比NSArray更快吗?

我是新来的iOS。 任何人都知道NSSetNSArray快吗? 为什么我不总是只使用NSArray

任何人都可以解释我的NSSetNSArray之间的区别?

NSSet被用来拥有独特的对象。

NSArray可能有重复的对象。

NSSet是一个无序的集合。

NSArray是一个有序的集合。

在这里输入图像说明

NSArray比NSSet更简单的持有和迭代。 构build速度快50%,迭代速度快500%。 如果您只需要迭代内容,则不要使用NSSet。

当集合中的项目顺序不重要时,集合可以提供更好的查找集合中项目的性能。

原因是一个集合使用散列值来查找项目(如字典),而数组必须迭代整个内容才能find特定的对象。

更详细的信息在这里:

http://www.cocoawithlove.com/2008/08/nsarray-or-nsset-nsdictionary-or.html

当元素的顺序不重要时,testing对象是否在集合中的性能是重要的。 即使数组是有序的,testing它们的成员资格也比testing集合要慢。