集合(NSSet和NSMutableSet)
#import <Foundation/Foundation.h>
// 集合(NSSet和NSMutableSet)
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 1. 集合中的元素与顺序无关,{1,2} {2,1}
// 2. 集合中的元素不能重复(是唯一的)
//实例化集合并赋值
NSSet *set1 = [NSSet setWithObjects:@4, @12,@-14,@9,@0, nil];
//遍历集合
for(NSNumber *element in set1)
{
NSLog(@"%@", element);// -14,0,9,12,4 打印和顺序无光
}
//实例化集合并赋值
NSSet *set2 = [NSSet setWithObjects:@12, @4,@-14,@9,@0, nil];
NSSet *set3 = [NSSet setWithObjects:@13, @5,@-14,@9,@6, nil];
// 判断两个集合是否相等
if([set1 isEqualToSet:set2] == YES)
{
NSLog(@"set1 == set2");//set1 == set2
}
// 搜索集合中的元素
if([set1 containsObject:@-14] == YES)
{
NSLog(@"set1 包含 -14");//set1 包含 -14
}
//实例化集合并赋值
NSMutableSet *mutableSet = [NSMutableSet setWithObjects:@1,@20, nil];
//添加元素
[mutableSet addObject:@1234];
[mutableSet addObject:@54];
//遍历元素
for(NSNumber *element in mutableSet)
{
NSLog(@"%@", element);//20,1234,54,1
}
//删除元素
[mutableSet removeObject:@1234];
//遍历元素
for(NSNumber *element in mutableSet)
{
NSLog(@"%@", element);//20,54,1
}
//实例化集合并赋值
NSMutableSet *resultSet = [NSMutableSet setWithSet:set1];
// 取集合的交集
[resultSet intersectSet:set3];
NSLog(@"取集合的交集");
//遍历元素
for(NSNumber *element in resultSet)
{
NSLog(@"%@", element);//-14,9
}
//实例化集合并赋值
NSMutableSet *resultSet1 = [NSMutableSet setWithSet:set1];
// 取集合的并集
[resultSet1 unionSet:set3];
NSLog(@"取集合的并集");
//遍历数组
for(NSNumber *element in resultSet1)
{
NSLog(@"%@", element);//0,13,,9,-14,5,6,12,4
}
}
return 0;
}
集合(NSSet和NSMutableSet.png