oc 知识总结四 (NSSet、NSMutableSet)
来源:互联网 发布:知乎 金庸 古龙 编辑:程序博客网 时间:2024/05/16 14:22
一、NSSet(不可变集合)
NSSet *set = [NSSetset];
(2)创建单个对象的集合NSSet *set = [NSSetsetWithObject:@"张三"];
(3)创建多个对象的集合
方式一:使用setWithObjects:NSSet *set1=[NSSetsetWithObjects:@"hello",@"world",@"haha",nil];
NSSet *set2=[[NSSetalloc]initWithObjects:@"wa",@"haha",nil];
2、NSSet的常用方法//isEqual是判断两个对象是否是同一个对象
//集合存入数据的顺序和输出顺序不一定一样,集合元素是无序的。
//集合是一组单值对象的集合,同一个对象只能保存一个
// 1、创建一个空集合,此处的set是集合
NSSet *set=[NSSetset];
// 2、创建单个对象的集合
NSSet *set0=[NSSetsetWithObject:@"张三"];
// 3、创建多个对象的集合
//方式一:
NSSet *set1=[NSSetsetWithObjects:@"hello",@"world",@"haha",nil];
//方式二:
NSSet *set2=[[NSSetalloc]initWithObjects:@"wa",@"haha",nil];
//NSSet常用的方法,无符号类型要用%lu
NSUInteger count =[set1count];
NSLog(@"集合1有%lu个元素",count);
//以数组的形式获取集合中的所有对象
NSArray *allObjects=[set2allObjects];
//返回集合中的任意一个对象(随机取对象)
id obj1=[set1anyObject];
NSLog(@"randWord= %@",obj1);
//判断是否包含某个对象(isContain/isExit)
BOOL isContain =[set2containsObject:@"wa"];
NSLog(@"%@",isContain?@"包含":@"不包含");
//判断两个集合中的元素是否存在相同元素的对象,两个集合是否有交集
BOOL isIntersect=[set2intersectsSet:set1];
NSLog(@"%@",isIntersect?@"存在相同元素的对象":@"不存在相同元素的对象");
//判断两个集合中的元素是否完全匹配
BOOL isEqual=[set2isEqualToSet:set1];
//判断一个集合是否是另一个集合的子集合,如果set2中所有元素都存在于set1,返回true
BOOL isSubSet=[set2isSubsetOfSet:set1];
NSLog(@"%@",isSubSet?@"set2是set1的子集合":@"set2不是set1的子集合");
//1.向集合中添加一个新元素,返回一个新的集合
NSSet *newSet=[set1setByAddingObject:@"admin"];
NSLog(@"%@",newSet);
//2.向集合中添加一个新元素,改变原来的集合,一般不使用
set1=[set1 setByAddingObject:@"admin"];
NSLog(@"%@",set1);
//将集合A的所有元素赋值给另一个集合B,返回一个新的集合C,自身是不改变的
NSSet *newSet1=[set1setByAddingObjectsFromSet:set2];
NSLog(@"%@",newSet1);
NSLog(@"%@,%@",set1,set2);
//遍历方法1
for(NSString *objin newSet1){
NSLog(@"%@",obj);
}
//遍历方法2
NSArray *newArr=[newSet1allObjects];
for(int i=0;i<newSet1.count;i++){
NSString *str=[newArrobjectAtIndex:i];
NSLog(@"%@",str);
}
2、NSMutableSet(可变集合)
NSMutableSet *set=[NSMutableSetset];
(2)创建单个对象的集合NSMutableSet *set = [NSMutableSetsetWithObject:@"1"];
NSMutableSet *set1 = [NSMutableSetsetWithObjects:@"1",@"2",@"3" ,nil];
NSMutableSet *set2 = [[NSMutableSetalloc]initWithObjects:@"3",@"2",@"1",nil];
3、常用方法
NSMutableSet *set1=[NSMutableSetset];
[set1 addObject:@"张三"];
[set1 addObject:@"李四"];
[set1 addObject:@"王五"];
[set1 removeObject:@"王五"];
[set1 addObject:@"李四"];
NSMutableSet *set2=[NSMutableSetset];
[set2 addObject:@"张三"];
[set2 addObject:@"李斯"];
[set2 addObject:@"王无"];
//并集
[set1 unionSet:set2];
for(NSString *namein set1){
NSLog(@"并集:%@",name);
}
//交集
[set1 intersectSet:set2];
for(NSString *namein set1){
NSLog(@"交集:%@",name);
}
//差集(在A中存在而不存在B中的对象)
[set1 minusSet:set2];
for(NSString *namein set1){
NSLog(@"差集:%@",name);
}
- oc 知识总结四 (NSSet、NSMutableSet)
- NSSet、NSMutableSet-OC+class
- OC-FUNDATION-NSSet&NSMutableSet
- OC NSSet、NSMutableSet、NSArray、NSMutableArray
- 【IOS 开发学习总结-OC-30】★★OC之foundation 框架——集合(NSSet 与 NSMutableSet)
- 黑马程序员-oc基础-集合NSSet,NSMutableSet
- OC中NSDictionary、NSMutableDictionary、NSSet、NSMutableSet
- OC-045.NSSet类和NSMutableSet类
- NSSet、NSMutableSet
- 黑马程序员 OC语言 - 8 NSFileManager、NSSet、NSMutableSet
- [OC学习笔记]NSSet、NSMutableSet、NSIndexSet常用方法
- iOS开发-Day19-OC NSDictionary&NSMutableDictionary&NSSet&NSMutableSet
- OC 学习笔记4 NSSet NSMutableSet NSDictionary NSMutableDictionary NSNumber NSValue
- OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法
- NSSet和NSMutableSet
- NSSet与NSMutableSet
- NSSet和NSMutableSet
- [ios] NSSet,NSMutableSet[zhuan]
- Nginx配置文件nginx.conf中文详解(总结)
- 用Matlab实现字符串分割(split)
- 常见Linux目录名称
- 如何碰撞两个功能不一样,但 MD5 值一样的程序的方法 + 源码公布
- kafkaspout+storm
- oc 知识总结四 (NSSet、NSMutableSet)
- UI - TableView高级(自定义cell、cell自定义高度)
- UIPageViewController-浅析
- Halcon向量機識別
- IP头部协议字段
- Android ListView+RadioButton实现单选的方法
- 【Android实测】使用代码调起指定浏览器访问指定页面
- nc WebService 接口开发思路
- 聊天室的实现(消息实时刷新)