iOS数组、字典和集合

数组、字典和集合的基本用法

数组和集合的区别:

NSSet和NSArray都是对象容器,用于存储对象,属于集合; NSSet , NSMutableSet是无序的集合,在内存中存储方式是不连续的,NSArray是有序的集合,在内存中存储位置是连续的;

NSSet和NSArry区别是:在搜索一个一个元素时NSSet比NSArray效率高,主要是它用到了一个算法hash;开发文档中这样解释:You can use sets as an alternative to arrays when the order of elements isn’t important and performance in testing whether an object is contained in the set is a consideration—while arrays are ordered, testing for membership is slower than with sets.

比如你要存储元素A,一个hash算法直接就能直接找到A应该存储的位置;同样,当你要访问A时,一个hash过程就能找到A存储的位置。而对于NSArray,若想知道A到底在不在数组中,则需要便利整个数组,显然效率较低了;

NSSet,NSArray都是类,只能添加cocoa对象,如果需要加入基本数据类型(int,float,BOOL,double等),需要将数据封装成NSNumber类型。

另:可变和不可变(数组)

可变数组和不可变数组常用方法 其中有几个方法比较实用,比如:

5)将数组中的字符串拼接成一个新的字符串,并在每个元素中间添加“-”

NSString *string= [newArray2 componentsJoinedByString:@"-"];

6)将字符串分隔成数组元素

NSArray*array12 = [string2 componentsSeparatedByString:@"="];NSLog(@"%@",array12);

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容