集合 (可变集合)

集合

集合在xcode中用NSSet来定义
1.集合的特性:
(1).集合内的元素在输出时是没有顺序的
NSSet *set =[NSSet setWithObjects:@"1",@"2",@"3",@"4",@"2",@"5", nil];
     NSLog(@"%@",set);
     2015-07-23 14:52:59.992      
     结果 : OC07_NSDate[1125:83494] {(                                                                                                   3,                                                        1,                                                         4,                                                           2'                                                      5                                                     )}

从以上的结果可以看出集合的另一个特性:

(2).集合不能有重复的对象:也就是说集合中如果有两个一样的元素,在输出是指数出其中的一个.

(3).集合中的元素必须是对象类型(在基本数据类型中有讲到把结构体类型和指针类型转变成对象类型)

2.set.count来输出集合的长度:
NSSet *set =[NSSet setWithObjects:@"1",@"2",@"3",@"4",@"2",@"5", nil];
    NSLog(@"%@",set);
    NSLog(@"%ld", set.count);
    结果:2015-07-23 14:55:19.319    OC07_NSDate[1135:84327] 5

从这里的结果也能看出来,集合中元素是不可以重复出现的,如果重复出现,系统是不会记录的.

3.anyObject :返回集合中任意一个元素(但不是随机的,是输出元素中最容易得到的元素)(如果不明白请留言)
NSSet *set =[NSSet setWithObjects:@"1",@"2",@"3",@"4",@"2",@"5", nil];
    NSLog(@"%@",[set anyObject]);
    结果:2015-07-23 14:56:42.900 OC07_NSDate[1194:84987] 3
4.containsObject:是否包含这个元素(BOOL类型)
NSSet *set =[NSSet setWithObjects:@"1",@"2",@"3",@"4",@"2",@"5", nil];
    NSLog(@"%d",[set containsObject:@"2"]);
    2015-07-24 20:01:23.863 OC07_NSDate[1432:91305] 1

可变集合

NSMutableSet:可变集合
创建一个可变集合

`NSMutableSet *set =[NSMutableSet setWithObjects:@"1",@"2",@"3",@"4",@"2",@"5", nil];`
1.在可变集合中添加元素
 NSMutableSet *set =[NSMutableSet setWithObjects:@"1",@"2",@"3",@"4",@"2",@"5", nil];
    [set addObject:@"7"];
    NSLog(@"%@",set);
    2015-07-24 20:09:53.770
     结果 :OC07_NSDate[1459:94297] {(
                                    3,
                                    1,
                                    4,
                                    2,
                                    7,
                                    5)}
2.在可变集合中删除元素
NSMutableSet *set =[NSMutableSet setWithObjects:@"1",@"2",@"3",@"4",@"2",@"5", nil]; 
    [set removeObject:@"5"];
    NSLog(@"%@",set);
    2015-07-24 20:11:16.216 
    结果:OC07_NSDate[1467:94873] {(
                          3,
                          1,
                          4,
                          2)}
3.用forin的方法可以对可变集合进行遍历
NSMutableSet *set =[NSMutableSet setWithObjects:@"1",@"2",@"3",@"4",@"2",@"5", nil];
        for (NSString *str in set) {
        NSLog(@"%@",str);
    }
    结果:  2015-07-24 20:15:53.783 OC07_NSDate[1477:96673] 3
          2015-07-24 20:15:53.784 OC07_NSDate[1477:96673] 1
          2015-07-24 20:15:53.784 OC07_NSDate[1477:96673] 4
          2015-07-24 20:15:53.784 OC07_NSDate[1477:96673] 2
          2015-07-24 20:15:53.784 OC07_NSDate[1477:96673] 5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值