ios nsset 里的数据怎么取

 我来答
小宝啊baby
2016-04-12 · TA获得超过140个赞
知道小有建树答主
回答量:386
采纳率:0%
帮助的人:320万
展开全部
千锋扣丁学堂iOS开发学习为您解答:
1、集合:集合(NSSet)和数组(NSArray)有相似之处,都是存储不同的对象的地址;不过NSArray是有序的集合,NSSet是无序的集合。

集合是一种哈希表,运用散列算法,查找集合中的元素比数组速度更快,但是它没有顺序。
NSSet * set = [[NSSet alloc] initWithObjects:@"one",@"two",@"three",@"four", nil];2 [set count]; //返回集合中对象的个数
判断集合中是否拥有某个元素
//判断集合中是否拥有@“two”2 BOOL ret = [set containsObject:@"two"];
判断两个集合是否相等
NSSet * set2 = [[NSSet alloc] initWithObjects:@"one",@"two",@"three",@"four", nil];2 //判断两个集合是否相等3 BOOL ret = [set isEqualToSet:set2];
判断set是否是set2的子集合
NSSet * set2 = [[NSSet alloc] initWithObjects:@"one",@"two",@"three",@"four",@"five", nil];2 //判断set是否是set2的子集合3 BOOL ret = [set isSubsetOfSet:set2];

集合也可以用枚举器来遍历
//集合也可以用枚举器来遍历2 NSEnumerator * enumerator = [set objectEnumerator];3 NSString *str;4 while (str =[enumerator nextObject]) {5 ……6 }
通过数组来初始化集合(数组转换为集合)
NSArray * array = [[NSArray alloc] initWithObjects:@"one",@"two",@"three",@"four", nil];2 NSSet * set = [[NSSet alloc] initWithArray:array];
集合转换为数组
NSArray * array2 = [set allObjects];

2、可变集合NSMutableSet
//可变集合NSMutableSet2 NSMutableSet * set = [[NSMutableSet alloc] init];3 [set addObject:@"one"];4 [setaddObject:@"two"];5 [set addObject:@"two"]; //如果添加的元素有重复,实际只保留一个
删除元素
//删除元素2 [set removeObject:@"two"];3 [set removeAllObjects];
将set2中的元素添加到set中来,如果有重复,只保留一个
//将set2中的元素添加到set中来,如果有重复,只保留一个2 NSSet * set2 = [[NSSet alloc] initWithObjects:@"two",@"three",@"four", nil];3 [set unionSet:set2];
删除set中与set2相同的元素
[set minusSet:set2];

3、指数集合(索引集合)NSIndexSet
//指数集合(索引集合)NSIndexSet2 NSIndexSet * indexSet = [[NSIndexSet alloc] initWithIndexesInRange:NSMakeRange(1,3)]; //集合中的数字是123
根据集合提取数组中指定位置的元素
//根据集合提取数组中指定位置的元素2 NSArray * array = [[NSArray alloc] initWithObjects:@"one",@"two",@"three",@"four", nil];3 NSArray * newArray = [array objectsAtIndexes:indexSet]; //返回@"two",@"three",@"four"
4、可变指数集合NSMutableIndexSet

NSMutableIndexSet *indexSet = [[NSMutableIndexSet alloc] init];2 [indexSet addIndex:0]3 [indexSet addIndex:3];4[indexSet addIndex:5];5 //通过集合获取数组中指定的元素6 NSArray *array = [[NSArray alloc] initWithObjects:@"one",@"two",@"three",@"four",@"five",@"six", nil];7 NSArray *newArray = [array objectsAtIndexes:indexSet]; //返回@"one",@"four",@"six"
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式