可變字典
//創(chuàng)建一個空的可變字典,預(yù)留兩個條目的空間
NSMutableDictionary *mInitDict = [[NSMutableDictionary alloc]initWithCapacity:2];
//創(chuàng)建一個空的可變字典
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)字典中。沒有對應(yīng)的key值時,將會添加相應(yīng)的鍵值對
//如果有對應(yīng)的key值,則對key對應(yīng)的value進(jìn)行修改
//字典中無法修改key值
//字面量的添加和修改
//當(dāng)key值存在,則修改
//當(dāng)key不存在,則添加
mInitDict2[@"height"] = @167;
NSLog(@"字面量添加后:%@",mInitDict2);
mInitDict2[@"height"]=@666;
NSLog(@"字面量修改后:%@",mInitDict2);
//不是字典類的方法,但是可以對字典操作
//和setObject:forKey的功能相似
//值可以為nil,刪除key值對應(yīng)的條目
[mInitDict2 setValue:@64 forKey:@"weight"];
NSLog(@"添加后:%@",mInitDict2);
[mInitDict2 setValue:nil forKey:@"weight"];
NSLog(@"設(shè)置nil:%@",mInitDict2);
//刪除
//刪除key值對應(yīng)的條目
[mInitDict2 removeObjectForKey:@"height"];
NSLog(@"刪除后 = %@",mInitDict2);
//刪除所有條目
[mInitDict2 removeAllObjects];
NSLog(@"刪除所有后:%@",mInitDict2);
#集合(集合也分為可變集合和不可變集合)
集合具有互斥性、無序性,集合中不可有相同的對象,對象之間沒有順序,可變集合和不可變集合里面是元素的可變與不可變
不可變集合
//創(chuàng)建對象//用多個對象來創(chuàng)建集合//注意:當(dāng)有多個相同對象時,只添加一個
NSSet *initSet =[[NSSet alloc]initWithObjects:@"teacher",@"student",@"worker", nil];
NSLog(@"initStr = %@",initSet);
NSSet *initStr1 = [NSSet setWithObjects:@"Teacher",@"Student",nil];
NSLog(@"initSet1 = %@",initStr1);
//獲取元素個數(shù)功能方法
NSInteger count = [initStr1 count];
NSLog(@"count = %ld",count);
//獲取任意元素
//沒有任何規(guī)律,不是隨機
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];
//添加 (再次添加后輸出時還是只有一個,但是不會報錯)
[mInitSet addObject:@"xiaohong"];
NSLog(@"mInitSet = %@",mInitSet);
//重復(fù)添加是無效的,但是不會報錯
[mInitSet addObject:@"xiaohuang"];
NSLog(@"mInitSet = %@",mInitSet);
//刪除
[mInitSet removeObject:@"xiaohong"];
NSLog(@"mInitSet = %@",mInitSet);
//刪除所有
[mInitSet removeAllObjects];
NSLog(@"mInitSet = %@",mInitSet);