NSSet 和 NSMutableSet 定义和基本用法

来源:互联网 发布:seo推广网站 编辑:程序博客网 时间:2024/05/09 03:55

NSSet 和 NSMutableSet  定义和基本用法:

 //===========================================================

         /*

         NSSet 集合,存储oc对象,int float double char,枚举,结构体,都不可以忘里面存储,必须包装成对象存进去。

         NSSet 没有顺序,NSArray 有顺序的

         

         相同:1:都用来存放oc对象

            2:都不可以存放基本数据类型,int float double char,枚举,结构体。

            3:本身都是不可变的,但是都有一个可变的子类

            4:

         区别:  1NSArry是有顺序的,NSSet是没有顺序的

                2:NSSet里面的元素是不可以重复的。

         

         */

        //创建一个空的set,不可以添加元素。

        NSSet *set1=[NSSet set];

        

        //创建一个set集合,里面有一个元素。

        NSSet *set2=[NSSet setWithObject:@"abc"];

        

        //创建一个集合,里面放多个元素

        

        Car *car1=[[Car alloc]init];

        Car *car2=[[Car alloc]init];

        

        NSSet *set3=[NSSet setWithObjects:car1,car2,@"ccc",nil];

        

        //获得set 中的元素个数

        

       NSUInteger count =set3.count;// [set count];

        

        //打印set,没有顺序的打印,其中的元素位置不确定。

        

        NSLog(@"%@,%lu",set3,count);

        

        //获取set中全部元素

        

        NSArray *ary1=[set3 allObjects];

        

        NSLog(@"%@",ary1);

        

        //取其中的一个元素,集合没有顺序。随机取一个对象即可

        

        [set3 anyObject];

        

        //集合中是否包含某个元素

        if ([set3 containsObject:@"ccc"]) {

            NSLog(@"set中包含该对象");

        }

        else{

            NSLog(@"set中包含该对象");

        }

        

        

        //======================================================

        //NSMutableSet  可变的集合

        

        //初始化可变的集合

        

        NSMutableSet * set4=[NSMutableSet set];

        

        //添加元素

        

        [set4 addObject:@"oc"];

        

        //添加一个数组中的元素添加到集合中

        

        [set4 addObjectsFromArray:@[@"jereh",@"ios"]];

         

        NSLog(@"%@",set4);

      

        //删除元素

        

         //清空和某个固定对象

        

        [set4 removeObject:@"ios"];

        NSLog(@"%@",set4);

        

        [set4 removeAllObjects];

        NSLog(@"%@",set4);

        

        //遍历set,for循环 -快速循环

        

        NSMutableSet *set5=[NSMutableSet setWithObjects:@"ios",@"oc",@"c",nil];

    

        for(id obj in set5){

            NSLog(@"%@",obj);

        }

0 0