NSArray与NSSet的区别

本文对比了NSArray和NSMutableArray的线性数组与链表功能,以及NSSet和NSMutableSet的无序唯一数据集合特性,提供了根据数据量和唯一性需求选择合适数据结构的指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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


创建和插入数据:



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



遍历数据



结论很明显了:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值