捉襟见肘之NSMutableSet和NSPointerArray
用来学习复习记录,其他优秀的译文,点击这里
一、NSMutableSet
NSMutableSet和NSMutableArray存放数据方式分别是无序和有序,这说明,数组是可以通过index获取对象。
NSMutableSet和NSSet都是集合
她们都有:比较compare 交集instersection 并集union
但是NSMutableSet还可以:查找valueForKey 添加add 删除remove
更多了解复制这里:
http://blog.csdn.net/ally_ideveloper/article/details/7939749
// 这个人写的我比较喜欢,朴实自然1 http://my.oschina.net/u/1782374/blog/380703
1.NSSet和NSMutableSet和数组一样只能添加Cocoa对象,如果需要添加基本数据变成NSNumber
2.集合的查找速度比数组高,例如查找某一个value值,数组遍历,集合hash
NSSet 常用方法总结 +(id)setWithObjects:obj1,obj2,...nil 使用一组对象创建新的集合 -(id)initWithObjects:obj1,obj2,.nil 使用一组对象初始化新分配的集合 -(NSUInteger)count 返回集合成员个数 -(BOOL)containsObject:obj 确定集合是否包含对象 obj -(BOOL)member:obj 确定集合是否包含对象 obj -(NSEnumerator*)objectEnumerator 返回集合中所有对象到一个 NSEnumerator 类型的对象 -(BOOL)isSubsetOfSet:nsset 判断集合是否是NSSet的子集 -(BOOL)intersectsSet:nsset 判断两个集合的交集是否至少存在一个元素 -(BOOL)isEqualToSet:nsset 判断两个集合是否相等 NSMutableSet 常用方法总结 -(id)setWithCapcity:size 创建一个有size大小的新集合 -(id)initWithCapcity:size 初始化一个新分配的集合,大小为size -(void)addObject:obj 添加对象 obj 到集合中 -(void)removeobject:obj 从集合中删除对象 obj -(void)removeAllObjects 删除集合中所有对象 -(void)unionSet:nsset 将nsset的所有元素添加到集合 -(void)minusSet:nsset 从集合中去掉所有的NSSet 的元素 -(void)interectSet:nsset 集合和NSSet 做交集运算
二、NSPointerArray
NSPointerArray类是一个稀疏数组
1.NSPointerArray工作起来与NSMutableArray相似,但可以存储NULL值,通过count获取;
2.可以用NSPointerFunctions对她进行设置,也可用静态函数构造:
+ (NSPointerArray *)strongObjectsPointerArray + (NSPointerArray *)weakObjectsPointerArray
捉襟见肘之NSMutableSet和NSPointerArray的更多相关文章
- NSHashTable NSPointerArray
NSHashTable和NSMapTable能够对持有的对象做strong或weak存储,弱持有weak引用对象,当weak对象释放后会自动从表中移除 http://blog.csdn.net ...
- Cocoa 集合类型:NSPointerArray,NSMapTable,NSHashTable
iOS 中有很多种集合类型,最为常见的可能就 NSArray.NSDictionary.NSSet,但其实还有 NSPointerArray.NSMapTable.NSHashTable 等类型,虽然 ...
- nsmutableset
// // main.m // nsmutableset // // Created by 博博 on 16/1/11. // Copyright (c) 2016年 com.bb. All ...
- IOS集合NSSet与NSMutableSet知识点
NSSet在实际应用中与NSArray区别不大,但是如果你希望查找NSArray中的某一个元素,则需要遍历整个数组,效率低下.而NSSet在查找某一特定的元素的时候则是根据hash算法直接找到此元素的 ...
- NSSet、NSMutableSet基本用法
NSSet.NSMutableSet基本用法 在Foundation框架中,提供了NSSet类,它是一组单值对象的集合,且NSSet实例中元素是无序,同一个对象只能保存一个. 一.不可变集合NSSet ...
- NSSet、NSMutableSet
NSSet和NSArray功能性质一样,用于存储对象,属于集合:只能添加cocoa对象,基本数据类型需要装箱. NSSet . NSMutableSet是无序的集合,在内存中存储方式是不连续的,而NS ...
- OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法
字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 ...
- NSSet和NSMutableSet 确保数据的唯一性--备
NSSet和NSMutableSet是无序的, 但是它保证数据的唯一性.当插入相同的数据时,不会有任何效果.从内部实现来说是hash表,所以可以常数时间内查找一个数据. 1.NSSet的使用 [NSS ...
- NSDictionary NSMutableDictionary NSSet NSMutableSet
//description只是返回了一个字符串 // [person description]; // //如果想要打印需要NSLog // NSLog(@"%@& ...
随机推荐
- JAVA反射其实就是那么一回事
概念:什么是反射 java反射机制: JAVA反射机制是在运行状态中, 对于任意一个类,都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意一个方法和属性: 这种动态获取的信息以及 ...
- jQuery学习笔记(二):this相关问题及选择器
上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理解的,this就是指代当前操作的DOM对象. 在jQuery中,this可以用于单 ...
- AngularJS中实现无限级联动菜单
多级联动菜单是常见的前端组件,比如省份-城市联动.高校-学院-专业联动等等.场景虽然常见,但仔细分析起来要实现一个通用的无限分级联动菜单却不一定像想象的那么简单.比如,我们需要考虑子菜单的加载是同步的 ...
- JSON返回DateTime/Date('123123123')/解决办法
Date.prototype.format = function (format) //author: meizz { var o = { "M+& ...
- mysql full text全文索引必要条件
show variables like 'ft_m%' 'ft_max_word_len', '84''ft_min_word_len', '4' 对于英文来说, ft_min_word_len=4是 ...
- HDInsight - 1,简介
最近工作需要,要看HDInsight部分,这里要做笔记.自然是官网资料最权威,所以内容都从这里搬过来:https://azure.microsoft.com/en-us/documentation/a ...
- latex中页面距离的设置
1.页面设置 a4 会给你一个较小的页面,为了使用更多的控制,可用 geometry宏包和命令 \layout . 2.改变长度 在latex里改变长度的命令是 \addtolength 和 \set ...
- Nginx的配置文件
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...
- js中递归函数的使用介绍
所谓的递归函数就是在函数体内调用本函数.使用递归函数一定要注意,处理不当就会进入死循环.递归函数只有在特定的情况下使用 ,比如阶乘问题 递归函数是在一个函数通过名字调用自身的情况下构成的,如下所示: ...
- android studio用法笔记
1.每次创建新工程的时候,就会“check sdk repository”,然而这个进度条一动不动,解决方法:file>setting>plugins>sdk updater禁用就行 ...