NSSet比NSArray更快吗?
我是新来的iOS。 任何人都知道NSSet
比NSArray
快吗? 为什么我不总是只使用NSArray
?
任何人都可以解释我的NSSet
和NSArray
之间的区别?
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集合要慢。