NSOrderedSet比NSSet快吗?有没有人做过任何测试哪里比另一个好?如果不是为什么NSOrderedSet首先被引入?
答案 0 :(得分:1)
使用有序集的意义在于,它可以按原始顺序遍历,其中添加了项,并且查询是否包含对象比无序数组更快。 "包含"然而,操作(以及在其上构建的设置操作)比使用该操作的无序集合的O(1)慢。
集合的要点是它允许最佳情况O(1)"包含"查询时间。当你需要这么快时,你应该使用这两种数据结构"包含"时间,不需要以任何指定的排序顺序检索结构中的项目。
虽然在基金会文档中没有指出,但内部可能实现为hash map。
我建议阅读this great blog post关于不同基金会数据结构的不同用途。