什么是集合?
集合作为OC中另一个容器,开发过程中使用的范围并没有数组和字典频繁。OC中的集合分为不可变集合(NSSet)和可变集合(NSMutableSet)两种。
集合的特点:
1.互异性 :集合中不能够存在两个相同的对象。
2.无序性 :集合中的对象没有顺序,先添加的对象不一定在集合中的第一个位置,后添加的也不一定在最后的位置。
3.集合经常用来处理重用问题。
集合的创建:
//初始化方法
NSSet *name = [[NSSet alloc] initWithObjects:@"frank", @"duck", @"monkey", nil];
//便利构造器
NSSet *name = [NSSet setWithObjects:@"frank", @"duck", @"monkey", nil];
//注意:不可变集合一旦创建,集合中的对象无法修改,只能从集合中读取对象,并且没有快速创建集合对象的字面量。
NSSet的常用操作
//获取集合中对象的个数
NSUInteger count = [name1 count];
//获取集合中所有的对象
NSArray *array = [name1 allObjects];
//从集合中取出一个对象
NSString *str = [name1 anyObject];
if ([name1 containsObject:@"frank"]) {
NSLog(@"包含这个元素");
}else {
NSLog(@"不包含");
}
NSMutableSet概述
NSMutableSet(可变集合)的父类是NSSet,具有NSSet所有的方法,同时在其基础上又增加了“添加”和“删除”对象的操作。
//初始化方法
NSMutableSet *n = [[NSMutableSet alloc] initWithCapacity:0];
//便利构造器
NSMutableSet *n1 = [NSMutableSet setWithCapacity:3];
//添加一个对象
[n1 addObject:@"123"];
//移除一个对象
[n1 removeObject:@"123"];
//移除所有对象
[n1 removeAllObjects];