代码改变世界

NSArray与NSSet的区别

2013-04-17 14:47  三戒1993  阅读(122)  评论(0编辑  收藏  举报

转自:http://maccrazy.diandian.com/post/2011-10-09/5671451

NSArray和NSMutableArray无需多说,是线性数组和链表的包装类。

NSSet和NSMutableSet则是无序的, 并且保证唯一性的数据集合。当插入相同的数据时,不会有任何效果。从内部实现来说是hash表,所以可以常数时间内查找一个数据。


创建和插入数据:



查找数据(判断一个object是否在该集合中), n = 10,000



遍历数据



结论很明显了:

如果你只需要保存和遍历一些数据,就选择NSArray,或者元素个数比较小,那么即使需要查找的功能,也不要用NSSet。
只有在元素个数很大,或是需要保证数据唯一性的情况下,使用NSSet。