在Foundation框架中,提供了NSSet类,它是一组单值对象的集合,且NSSet实例中元素是无序,同一个对象只能保存一个,且它也分为可变和不可变的集合对象
不可变集合NSSet
NSSet的初始化
类似于数组的构建,直接创建一个集合
NSSet *set1 = [[NSSet alloc]initWithObjects:@"one",@"two",nil];
通过数组的构建集合
NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"3",nil];
NSSet *set2 = [[NSSet alloc]initWithArray:array];
通过已有集合构集合
NSSet *set3 = [[NSSet alloc]initWithSet:set2];
集合的常用方法
集合3中对象的个数
int count = [set3 count];
以数组的形式返回集合3中所有的对象
NSArray *allObjects = [set3 allObjects];
返回集合3中的任意一个对象
id object = [set3 anyObject];
集合4中是否包含内容为2的字符串对象,如果包含返回YES,否则为NO
BOOL isContain = [set4 containsObject:@"2"];
集合4中与集合2中是否存在有相同元素的对象,如果有返回YES,否则为NO
BOOL isIntersect = [set4 intersectsSet:set2];
集合4与集合5中的元素是否完全匹配,如果匹配返回YES,否则为NO
BOOL isEqual = [set4 isEqualToSet:set5];
集合4是否是集合5的子集合,如果是返回YES,否则为NO
BOOL isSubset = [set4 isSubsetOfSet:set5];