NSOrderedSet 比 NSSet 更快吗?有没有人做过任何测试,其中一个比另一个更好?如果不是,为什么首先要引入 NSOrderedSet?
最佳答案
NSOrderedSet
使用有序集的要点在于,它可以按照添加项目的原始顺序进行遍历,并且查询是否包含对象比无序数组更快。然而,“包含”操作(以及基于它的集合操作)比该操作的无序集合可能的 O(1) 慢。
无序集合
集合的要点是它允许最好的情况 O(1)“包含”查询时间。当您需要尽可能快的“包含”时间并且不需要以任何指定的排序顺序检索结构中的项目时,您应该使用这两种数据结构。
它在内部可能实现为 hash map ,尽管基金会文档中没有指出。
我建议阅读this great blog post关于不同基金会数据结构的不同用途。
关于arrays - NSOrderedSet 比 NSSet 快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36971254/