1、求數組的 交集,並集,差集
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
2、判斷一個數組是否為另一個數組的子集
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
3、判斷某個對象是否在某個數組中
BOOL isExist = [array3 containsObject:@"1"]; //isExist為YES
4、補充說明:
以下三種集合類是不可變的(一旦初始化后,就不能改變)
NSArray 用於對象有序集合(數組)
NSSet 用於對象無序集合 (集合)
NSDictionary用於鍵值映射(字典)
以下三種是可變集合類(這三種可變集合類是對應上面三種集合類的子類):
NSMutableArray
NSMutableSet 可修改的集合。主要用於集合運算(並集,交集,差集)
NSMutableDictionary 允許用戶添加和刪除key和value
