Objective-C 基础知识之(八):NSSet
2015-09-15 21:51
483 查看
集合
1、集合和数组、字典类似,都只能存储不同类型的对象。
集合中的对象具有唯一性,即同一对象在集合中存储N次,集合只读取一次对象,可通过NSCountedSet中的方法countForObject:获取同一对象存储的个数。
数组可以存储多次同一对象。
字典可以存储多次同一对象,但是key值不能重复。
2、创建NSSet对象,同NSArray类似。
NSSet * set1 =[NSSet setWithObjects:@"yuanmei", @"wo", @"1314",nil];
NSLog(@"%@",set1);
NSSet * set2 =[NSSet setWithObjects:@"21", @"22", @"22", nil];
NSLog(@"%@",set2);
3、NSSet中的方法,和NSArray类似。
//获取元素个数
NSUInteger count =[set2 count];
NSLog(@"%lu",count);
//获取集合中的元素
NSLog(@"%@",[set1 anyObject]);//获取的元素不保证是随机的
NSLog(@"%@",[set2 allObjects]);
//判断是否包含某个元素
BOOL r = [set1containsObject:@"mei"];
NSLog(@"%d",r);
4、可变集合类型 NSMutableSet
NSMutableSet * set =[NSMutableSet set];
NSLog(@"%@",set);
//添加元素对象
[setaddObject:@"mei"];
NSLog(@"%@",set);
//移除元素对象
[setremoveObject:@"mei"];
NSLog(@"%@",set);
//移除全部元素对象
[setremoveAllObjects];
NSLog(@"%@",set);
5、NSCountedSet是NSMutableSet的子类
NSCountedSet * set =[NSCountedSet set];
[setaddObject:@"11"];
[setaddObject:@"12"];
[setaddObject:@"12"];
[setaddObject:@"12"];
NSLog(@"%@",set);
结果为:<NSCountedSet: 0x1001009b0> (12 [3], 11 [1])
NSUInteger count =[set countForObject:@"12"];
NSLog(@"%lu",count);
6、遍历集合
NSSet * set = [NSSetsetWithObjects:@"10", @"20", @"30", nil];
for (NSString * a inset) {
NSLog(@"%@", a);
}
1、集合和数组、字典类似,都只能存储不同类型的对象。
集合中的对象具有唯一性,即同一对象在集合中存储N次,集合只读取一次对象,可通过NSCountedSet中的方法countForObject:获取同一对象存储的个数。
数组可以存储多次同一对象。
字典可以存储多次同一对象,但是key值不能重复。
2、创建NSSet对象,同NSArray类似。
NSSet * set1 =[NSSet setWithObjects:@"yuanmei", @"wo", @"1314",nil];
NSLog(@"%@",set1);
NSSet * set2 =[NSSet setWithObjects:@"21", @"22", @"22", nil];
NSLog(@"%@",set2);
3、NSSet中的方法,和NSArray类似。
//获取元素个数
NSUInteger count =[set2 count];
NSLog(@"%lu",count);
//获取集合中的元素
NSLog(@"%@",[set1 anyObject]);//获取的元素不保证是随机的
NSLog(@"%@",[set2 allObjects]);
//判断是否包含某个元素
BOOL r = [set1containsObject:@"mei"];
NSLog(@"%d",r);
4、可变集合类型 NSMutableSet
NSMutableSet * set =[NSMutableSet set];
NSLog(@"%@",set);
//添加元素对象
[setaddObject:@"mei"];
NSLog(@"%@",set);
//移除元素对象
[setremoveObject:@"mei"];
NSLog(@"%@",set);
//移除全部元素对象
[setremoveAllObjects];
NSLog(@"%@",set);
5、NSCountedSet是NSMutableSet的子类
NSCountedSet * set =[NSCountedSet set];
[setaddObject:@"11"];
[setaddObject:@"12"];
[setaddObject:@"12"];
[setaddObject:@"12"];
NSLog(@"%@",set);
结果为:<NSCountedSet: 0x1001009b0> (12 [3], 11 [1])
NSUInteger count =[set countForObject:@"12"];
NSLog(@"%lu",count);
6、遍历集合
NSSet * set = [NSSetsetWithObjects:@"10", @"20", @"30", nil];
for (NSString * a inset) {
NSLog(@"%@", a);
}
相关文章推荐
- Objective-C 基础知识之(七):NSDictionary、NSMutableDictionary
- Objective-C 【NSPoint&CGPoint-NSSize&CGSize-NSRect&NSRect】
- 【IOS 开发学习总结-OC-7.9-★】 objective-c——字符串与指针
- Objective-C 【NSFileManager 的用法深入探讨】
- Objective-C 基础知识之(六):NSArray、NSMutableArray
- 使用Uncrustify在Xcode中格式化Objective-C代码
- iOS~Objective-C中的instancetype和id区别
- Objective-C 与 Swift 混编之路
- Linq入门详解(Linq to Objects)
- Objective-C 【NSFileManager 介绍-基本用法】
- OGNL(Object-Graph Navigation Language):图形化对象导航语言
- Objective-C之数据持久化-属性列表
- Object-c中间initialize 与 辛格尔顿
- OC中方法的一些小疑问
- java 用反射简单应用,将Object简单转换成map
- Qt 学习之路:线程和 QObject
- OC一些字符串的练习
- Object类中hashCode()和equals()方法详解(附图)
- Android-Animator属性动画( ObjectAnimator , AnimatorSet , ValueAnimator )
- objective-C