什么是集合?
集合作為OC中另一個(gè)容器经窖,開發(fā)過程中使用的范圍并沒有數(shù)組和字典頻繁得院。OC中的集合分為不可變集合(NSSet)和可變集合(NSMutableSet)兩種。
集合的特點(diǎn):
1.互異性 :集合中不能夠存在兩個(gè)相同的對象廉侧。
2.無序性 :集合中的對象沒有順序页响,先添加的對象不一定在集合中的第一個(gè)位置,后添加的也不一定在最后的位置段誊。
3.集合經(jīng)常用來處理重用問題闰蚕。
集合的創(chuàng)建:
//初始化方法
NSSet *name = [[NSSet alloc] initWithObjects:@"frank", @"duck", @"monkey", nil];
//便利構(gòu)造器
NSSet *name = [NSSet setWithObjects:@"frank", @"duck", @"monkey", nil];
//注意:不可變集合一旦創(chuàng)建,集合中的對象無法修改连舍,只能從集合中讀取對象没陡,并且沒有快速創(chuàng)建集合對象的字面量。
NSSet的常用操作
//獲取集合中對象的個(gè)數(shù)
NSUInteger count = [name1 count];
//獲取集合中所有的對象
NSArray *array = [name1 allObjects];
//從集合中取出一個(gè)對象
NSString *str = [name1 anyObject];
if ([name1 containsObject:@"frank"]) {
NSLog(@"包含這個(gè)元素");
}else {
NSLog(@"不包含");
}
NSMutableSet概述
NSMutableSet(可變集合)的父類是NSSet索赏,具有NSSet所有的方法盼玄,同時(shí)在其基礎(chǔ)上又增加了“添加”和“刪除”對象的操作。
//初始化方法
NSMutableSet *n = [[NSMutableSet alloc] initWithCapacity:0];
//便利構(gòu)造器
NSMutableSet *n1 = [NSMutableSet setWithCapacity:3];
//添加一個(gè)對象
[n1 addObject:@"123"];
//移除一個(gè)對象
[n1 removeObject:@"123"];
//移除所有對象
[n1 removeAllObjects];