可變字典
//創(chuàng)建一個(gè)空的可變字典,預(yù)留兩個(gè)條目的空間
NSMutableDictionary *mInitDict = [[NSMutableDictionary alloc]initWithCapacity:2];
//創(chuàng)建一個(gè)空的可變字典
NSMutableDictionary *mInitDict1 =[[NSMutableDictionary alloc]init];
//字面量
NSMutableDictionary*mInitDict2=[@{@"name":@"sunwukong",@"age":@18,@"sex":@"F"}mutableCopy];
NSLog(@"mInitDict2 = %@",mInitDict2);
//功能方法
//添加條目
//前面是值(value),后面是鍵(key)
//注意:值和鍵不能為nil
[mInitDict2 setObject:@0.01 forKey:@"salary"];
NSLog(@"添加后: = %@",mInitDict2);
//修改方法
[mInitDict2 setObject:@0.1 forKey:@"salary"];
NSLog(@"修改后: =%@",mInitDict2);
//當(dāng)字典中锌雀。沒(méi)有對(duì)應(yīng)的key值時(shí)淤翔,將會(huì)添加相應(yīng)的鍵值對(duì)
//如果有對(duì)應(yīng)的key值翰绊,則對(duì)key對(duì)應(yīng)的value進(jìn)行修改
//字典中無(wú)法修改key值
//字面量的添加和修改
//當(dāng)key值存在,則修改
//當(dāng)key不存在旁壮,則添加
mInitDict2[@"height"] = @167;
NSLog(@"字面量添加后:%@",mInitDict2);
mInitDict2[@"height"]=@666;
NSLog(@"字面量修改后:%@",mInitDict2);
//不是字典類的方法监嗜,但是可以對(duì)字典操作
//和setObject:forKey的功能相似
//值可以為nil,刪除key值對(duì)應(yīng)的條目
[mInitDict2 setValue:@64 forKey:@"weight"];
NSLog(@"添加后:%@",mInitDict2);
[mInitDict2 setValue:nil forKey:@"weight"];
NSLog(@"設(shè)置nil:%@",mInitDict2);
//刪除
//刪除key值對(duì)應(yīng)的條目
[mInitDict2 removeObjectForKey:@"height"];
NSLog(@"刪除后 = %@",mInitDict2);
//刪除所有條目
[mInitDict2 removeAllObjects];
NSLog(@"刪除所有后:%@",mInitDict2);
#集合(集合也分為可變集合和不可變集合)
集合具有互斥性、無(wú)序性抡谐,集合中不可有相同的對(duì)象秤茅,對(duì)象之間沒(méi)有順序,可變集合和不可變集合里面是元素的可變與不可變
不可變集合
//創(chuàng)建對(duì)象//用多個(gè)對(duì)象來(lái)創(chuàng)建集合//注意:當(dāng)有多個(gè)相同對(duì)象時(shí)童叠,只添加一個(gè)
NSSet *initSet =[[NSSet alloc]initWithObjects:@"teacher",@"student",@"worker", nil];
NSLog(@"initStr = %@",initSet);
NSSet *initStr1 = [NSSet setWithObjects:@"Teacher",@"Student",nil];
NSLog(@"initSet1 = %@",initStr1);
//獲取元素個(gè)數(shù)功能方法
NSInteger count = [initStr1 count];
NSLog(@"count = %ld",count);
//獲取任意元素
//沒(méi)有任何規(guī)律框喳,不是隨機(jī)
NSString *str =[initStr1 anyObject];
NSLog(@"str = %@",str);
//是否包含
BOOL flag = [initStr1 containsObject:@"Person"];
NSLog(@"flag =%d",flag);
//獲取所有元素
NSArray *array = [initStr1 allObjects];
NSLog(@"array = %@",array);
可變集合
NSMutableSet *mInitSet = [[NSMutableSet alloc]initWithCapacity:2];
//添加 (再次添加后輸出時(shí)還是只有一個(gè),但是不會(huì)報(bào)錯(cuò))
[mInitSet addObject:@"xiaohong"];
NSLog(@"mInitSet = %@",mInitSet);
//重復(fù)添加是無(wú)效的厦坛,但是不會(huì)報(bào)錯(cuò)
[mInitSet addObject:@"xiaohuang"];
NSLog(@"mInitSet = %@",mInitSet);
//刪除
[mInitSet removeObject:@"xiaohong"];
NSLog(@"mInitSet = %@",mInitSet);
//刪除所有
[mInitSet removeAllObjects];
NSLog(@"mInitSet = %@",mInitSet);