NSSet集合对象

//NSSet集合对象
       
//NSSet在存储对象时不是连续存储的,也不是顺序存储的
       
//NSSet使用散列表(hash table)的技术存储对象的,便于对对象查找对象可以一次命中
       
NSArray *array = [NSArrayarrayWithObjects:@1,@2,@3, nil];
       
NSSet *set = [NSSetsetWithObjects:@1,@3, nil];
       
NSSet *set2 = [NSSetsetWithArray:array];
        [array
enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
           
NSLog(@"idx = %lu,obj = %@",idx,obj);
        }];
       
        [set
enumerateObjectsUsingBlock:^(id  _Nonnull obj, BOOL * _Nonnull stop) {
           
NSLog(@"obj = %@",obj);
        }];
       
       
//NSMutableSet可变的集合对象
       
//NSSet中不能存储重复的对象
       
NSMutableSet *set3 = [[NSMutableSetalloc]init];
        [set3
addObject:@1];
        [set3
addObject:@2];
        [set3
addObject:@3];
       
//[set3 removeObject:@2];
        [set3
enumerateObjectsUsingBlock:^(id  _Nonnull obj, BOOL * _Nonnull stop) {
           
NSLog(@"obj = %@",obj);
        }];
       
       
//可以判断一个对象在集合中
       
if ([set3  containsObject:@2]) {
           
NSLog(@"2set3 里面");
        }
       
id obj4 = [set3 member:@2];
       
NSLog(@"%@",obj4);
       
       
//集合之间可以做集合运算
       
//1、将集合中两个相同的元素去掉
        [set3
minusSet:set];
       
NSLog(@"%@",set3);
       
       
//2、求集合的并集
        [set3
unionSet: set];
       
NSLog(@"%@",set3);
       
       
       
//3、求两个集合的交集
        [set3
intersectSet:set];
       
NSLog(@"%@",set3);
       
       
//判断一个集合是否包含另一个集合
       
if ([set3 isSubsetOfSet:set]) {
           
NSLog(@"set is subset of set3");
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值