Objective-c的Foundation中常用类5——集合中的NSSet、NSMutableSet

在Foundation框架中,提供了一组单值对象的集合,且NSSet实例中的元素是无序的,同一个对象只能保存一个,类似于java中的HashSet。感觉java和OC太像了


1、继续不可变,NSSet

NSSet的创建类似于数组的创建,其实在Objective-cNSSetNSArray就很像,在后面会具体讲他们之间的区别

NSSet *set1 = [NSSet setWithObjects:@"one",@"two",@"three" nil];//同样nil不能少
        //通过数组来创建
        NSArray *array = [NSArray arrayWithObjects:@"hello",@"world",@"hao", nil];
        
        NSSet *set2 = [NSSet setWithArray:array];
        //通过已有集合构建
        NSSet *set3 = [NSSet setWithSet:set2];
        
        //集合中对象的个数
        NSInteger *objNum = [set3 count];
        
        //以数组的形式返回集合中的所有对象
        NSArray *array1 = [set3 allObjects];
        
        //看集合中是否包含某对象
        BOOL isContain = [set3 containsObject:@"one"];
        
        //集合set2是否是集合set3的子集合
        BOOL isSub = [set2 isSubsetOfSet:set3];
        
        //两个集合是否相同
        BOOL isEqual = [set3 isEqualToSet:set2];
        
        //在原有集合的基础上新加一个元素创建一个新集合
        NSSet *set4 = [set3 setByAddingObject:@"yade"];
        
        //把两个集合合并成一个新的集合
        NSSet *set5 =[set3 setByAddingObjectsFromSet:set2];
        
        //把一个集合一个数组合并成一个新集合
        NSSet *set6 = [set5 setByAddingObjectsFromArray:array];

2、可变集合NSMutableSet

继承自NSSet

//首先还是创建两个再说
        NSMutableSet *mSet1 = [NSMutableSet setWithObjects:@"one",@"two",@"1", nil];
        NSMutableSet *mSet2 = [NSMutableSet setWithObjects:@"three",@"four",@"1" nil];
        //在mSet1中去除和mSet2中相同的元素,返回的是mSet2
        [mSet2 minusSet:mSet1];
        
        //获得两个集合的交集,返回的是mSet1
        [mSet1 intersectSet:mSet2];
        
        //取并集
        [mSet1 unionSet:mSet2];
        
        //将一个一个集合中的内容设置成另一个集合中的内容
        [mSet1 setSet:mSet2];
        
        //删除对象
        [mSet1 removeObject:@"one"];
        //删除所有
        [mSet1 removeAllObjects];







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值