集合:NSSet---不可变 NSMutableSet------可变 NSIndexSet---------是无符号整数集合,集合中元素不可变,不可重复,常被用来当作索引使用。
当向NSSet中插入相同的数据的时候是不会起其他作用的,保证了数据的唯一性,而且插入的数据都是无序的。
1.NSSet(不可变集合)
可变集合和不可变集合的方法都是通用的,因为可变集合是不可变集合的子类。
初始化集合
NSSet *set1=[NSSet setWithObjects:@1,@3,@5,@7,nil];
NSMutableSet *set2=[NSMutableSet setWithObject :@1,@2,@10,nil];
NSMutableSet *set3=[NSMutableSet setWithObject:@100,@22,@31,nil];
遍历集合:
for(NSNumber *element in self){
printf("@li",(long)[element integerValue]);
<pre name="code" class="objc">}
-(void)print:(NSSet*)set{
printf("{");
for (NSNumber *element in set) {
printf("%li",(long)[element integerValue]);//转换字符
}
printf("}\n");
}
//判断是否相等
if ([set1 isEqualToSet:set2]==YES) {
NSLog(@"equal");
}
//判断是否包含
if ([set2 containsObject:@20]==YES) {
NSLog(@"exist");
}
[set2 addObject:@10000];//添加对象
[set3 removeObject:@100];//移除对象
[set2 intersectSet:set2];//获得交集对象
[set2 unionSet:set3];//获得并集对象
[set2 unionSet:set1];//并集的前面不能是不可变的集合
//[set1 unionSet :set2];错误。