ios笔记-NSSet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
//
//  main.m
//  NSSet
//
//  Created by Passer-by on 15-3-23.
//  Copyright (c) 2015年 MAC. All rights reserved.
//
 
# import <foundation foundation.h= "" >
 
int main( int argc, const char * argv[])
{
 
    @autoreleasepool
    {
        /*
         NSSet和NSArray的对比
         1> 共同点
         * 都是集合,都能存放多个OC对象
         * 只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)
         * 本身都不可变,都有一个可变的子类
          
         2> 不同点
         * NSArray有顺序,NSSet没有顺序
         */
         
        NSSet *set1 = [NSSet setWithObjects:@ "a" , @ "b" , @ "c" , @ "d" , nil];
        NSSet *set2 = [[NSSet alloc] initWithObjects:@ "1" , @ "2" , @ "3" , nil];
        NSArray *array = [NSArray arrayWithObjects:@ "a" , @ "b" , @ "c" , nil];
        NSSet *set3 = [NSSet setWithArray:array];
         
        NSLog(@ "set1 :%@" , set1);
        NSLog(@ "set2 :%@" , set2);
        NSLog(@ "set3 :%@" , set3);
         
        //获取集合个数
        NSLog(@ "set1 count :%d" , set1.count);
         
        //以数组的形式获取集合中的所有对象
        NSArray *allObj = [set2 allObjects];
        NSLog(@ "allObj :%@" , allObj);
         
        //获取任意一对象
        NSLog(@ "anyObj :%@" , [set3 anyObject]);
         
        //是否包含某个对象
        NSLog(@ "contains :%d" , [set3 containsObject:@ "obj2" ]);
         
         
        //是否包含指定set中的对象
        NSLog(@ "intersect obj :%d" , [set1 intersectsSet:set3]);
         
        //是否完全匹配
        NSLog(@ "isEqual :%d" , [set2 isEqualToSet:set3]);
         
        //是否是子集合
        NSLog(@ "isSubSet :%d" , [set3 isSubsetOfSet:set1]);
         
         
         
        NSSet *set4 = [NSSet setWithObjects:@ "a" , @ "b" , nil];
        NSArray *ary = [NSArray arrayWithObjects:@ "1" , @ "2" , @ "3" , @ "4" , nil];
        NSSet *set5 = [set4 setByAddingObjectsFromArray:ary];
        NSLog(@ "addFromArray :%@" , set5);
         
         
         
         
        NSMutableSet *mutableSet1 = [NSMutableSet setWithObjects:@ "1" , @ "2" , @ "3" , nil];
        NSMutableSet *mutableSet2 = [NSMutableSet setWithObjects:@ "a" , @ "2" , @ "b" , nil];
        NSMutableSet *mutableSet3 = [NSMutableSet setWithObjects:@ "1" , @ "c" , @ "b" , nil];
         
        //集合元素相减
        [mutableSet1 minusSet:mutableSet2];
        NSLog(@ "minus :%@" , mutableSet1);
         
        //只留下相等元素
        [mutableSet1 intersectSet:mutableSet3];
        NSLog(@ "intersect :%@" , mutableSet1);
         
        //合并集合
        [mutableSet2 unionSet:mutableSet3];
        NSLog(@ "union :%@" , mutableSet2);
         
        //删除指定元素
        [mutableSet2 removeObject:@ "a" ];
        NSLog(@ "removeObj :%@" , mutableSet2);
         
         
        //删除所有数据
        [mutableSet2 removeAllObjects];
        NSLog(@ "removeAll :%@" , mutableSet2);
         
    }
    return 0 ;
}
</foundation>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值