NSOrderedSet比NSSet快吗?

时间:2016-05-01 19:56:03

标签: arrays swift

NSOrderedSet比NSSet快吗?有没有人做过任何测试哪里比另一个好?如果不是为什么NSOrderedSet首先被引入?

1 个答案:

答案 0 :(得分:1)

NSOrderedSet

使用有序集的意义在于,它可以按原始顺序遍历,其中添加了项,并且查询是否包含对象比无序数组更快。 "包含"然而,操作(以及在其上构建的设置操作)比使用该操作的无序集合的O(1)慢。

无序集

集合的要点是它允许最佳情况O(1)"包含"查询时间。当你需要这么快时,你应该使用这两种数据结构"包含"时间,不需要以任何指定的排序顺序检索结构中的项目。

虽然在基金会文档中没有指出,但内部可能实现为hash map

我建议阅读this great blog post关于不同基金会数据结构的不同用途。