求数组的 交集,并集,差集
NSArray*array1=@[@"1",@"2",@"3"];
NSArray*array2=@[@"1",@"5",@"6"];
NSMutableSet*set1=[NSMutableSet setWithArray:array1];
NSMutableSet*set2=[NSMutableSet setWithArray:array2];
[set1 unionSet:set2];
//取并集后 set1中为1,2,3,5,6[set1 intersectSet:set2];
//取交集后 set1中为1[set1 minusSet:set2];//取差集后 set1中为2,3,5,6
判断一个数组是否为另一个数组的子集
NSArray*array3=@[@"1",@"2"];
NSArray*array4=@[@"1",@"2",@"6"];
NSSet*set3=[NSSet setWithArray:array3];
NSSet*set4=[NSSet setWithArray:array4];
BOOL isSub=[set3 isSubsetOfSet:set4];//isSub为YES
判断某个对象是否在某个数组中
延伸
NSArray 用于对象有序集合(数组)
NSSet 用于对象无序集合 (集合)
NSDictionary用于键值映射(字典)
以上三种集合类是不可变的(一旦初始化后,就不能改变)
以下是对应的三种可变集合类(这三种可变集合类是对应上面三种集合类的子类):
NSMutableArray
NSMutableSet 可修改的集合。主要用于集合运算(并集,交集,差集)
NSMutableDictionary 允许用户添加和删除key和value
参考自:https://www.jianshu.com/p/5eb0cc6505f6
网友评论