捉襟见肘之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(@"%@& ...
随机推荐
- 系统升级日记(4):如何快速的修改Infopath中的各种URL
摘要: 最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013.本记 ...
- 百度Android定位SDK获取位置
http://gis.sunxianlei.cn/2013/01/27/%E7%99%BE%E5%BA%A6android%E5%AE%9A%E4%BD%8Dsdk%E8%8E%B7%E5%8F%96 ...
- 通过UserAgent判断设备为Android、Ios、Pc访问
public static bool CheckAgent() { bool flag = false; string agent = HttpContext.Current.Request.User ...
- Form表单提交的简要方式
<html> <head> <meta name="viewport" content="width=device-width" ...
- 【jQuery】Jquery.cookie()
注意:如果不设置path,默认为当前路径,新建cookie $.cookie('name', 'value'); 新建带限制时间cookie $.cookie('name', 'value', { e ...
- 在Word2013中多次应用格式刷
顾名思义,格式刷是为了方便需要跨区域操作时候,能快速的应用格式到相应文本.那么怎么使用word进行格式刷的多次使用呢.我们先来看单次的,这个比较容易,只要在先需要的格式单击一次格式刷,再到需要的文本执 ...
- struts2 spring3.2 hibernate4.1 框架搭建 整合
ssh是企业开发中常遇到的框架组合,现将框架的搭建过程记录下来,以便以后查看.我的搭建过程是,首先struts,然后spring,最后hibernate.struts2的最新版本为2.3.8,我下载的 ...
- zabbix 用 LLD 完全自动化监控 Oracle
文章转载自:http://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3NA==&mid=2651296856&idx=1&sn=2bdf78071 ...
- jQuery鼠标悬停内容动画切换效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- react.js CMS 删除功能的实现
页面效果图: 数据操作分析: 在查询表组件的 TableData.js 中操作如下内容: 给每一行绑定一个checkbox,且在点击这个 checkbox 时,触发 action 中的一个方法(fo ...