一 NSSet 继承 NSObject 不可变的集合;
1.无序;
2.集合中的元素是唯一的 不可重复
不可变的
二 可以讲数组换为集合
1.1// 先建立一个数组
NSArray *arr = [[NSArray alloc]initWithObjects:@"1",@"2",@"5",@"2" ,nil];
// 设定新的变量名接收 set1
NSSet *set1 = [[NSSet alloc]initWithArray:arr];
NSLog(@"%@",set1);
注:变成集合后会将数组里的重复数组删除
//打印数组里面最上面的数组
NSArray *array10 = [set1 anyObject];
三 集合中元素
2.1集合中元素的个数 数组中的键值对数也是这样算的
NSLog(@”%lu”,[set1 count]) ;
2.2 遍历构造器的方法
公式:setWithObjects:(nsstring*),nil];
NSSet *set2= [NSSet setWithObjects:@"1",@"2",@"6",@"7",nil];
// 判断集合中包含某个元素
公式:containsObject
if ([set2 containsObject:@"1"]) {
NSLog(@"YES");
}else{
NSLog(@"no");
}
// 判断谁是不是谁的子集
公式:sSubsetOfSet
NSSet *set3 = [NSSet setWithObjects:@"1",@"2",@"6", nil];
if ([set3 isSubsetOfSet:set2]) {
NSLog(@"yes");
}else{
NSLog(@"no");
}
// 判断两个集合是否相等
公式:isEqualToSet
if ([set3 isEqualToSet:set2]) {
NSLog(@"yes");
}else{
NSLog(@"no");
}
// 判断两个集合是否有交集
公式 :intersectsSet
if ([set3 intersectsSet:set2]) {
NSLog(@"yes");
}else{
NSLog(@"no");
}
三 可变的集 : NSMutablesset
// 先设一个空的集
NSMutableSet *mSet = [[NSMutableSet alloc]initWithCapacity:0];
// 添加集
[mSet addObject:@"ms"];
[mSet addObject:@"mss"];
[mSet addObject:@"msms"];
NSLog(@"%@",mSet);
// 删除集
[mSet removeObject:@"mss"];
NSLog(@"%@",mSet);
// 清空
[mSet removeAllObjects];
NSLog(@"%@",mSet);