可变字典
//创建一个空的可变字典,预留两个条目的空间
NSMutableDictionary *mInitDict = [[NSMutableDictionary alloc]initWithCapacity:2];
//创建一个空的可变字典
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);
//当字典中。没有对应的key值时,将会添加相应的键值对
//如果有对应的key值,则对key对应的value进行修改
//字典中无法修改key值
//字面量的添加和修改
//当key值存在,则修改
//当key不存在,则添加
mInitDict2[@"height"] = @167;
NSLog(@"字面量添加后:%@",mInitDict2);
mInitDict2[@"height"]=@666;
NSLog(@"字面量修改后:%@",mInitDict2);
//不是字典类的方法,但是可以对字典操作
//和setObject:forKey的功能相似
//值可以为nil,删除key值对应的条目
[mInitDict2 setValue:@64 forKey:@"weight"];
NSLog(@"添加后:%@",mInitDict2);
[mInitDict2 setValue:nil forKey:@"weight"];
NSLog(@"设置nil:%@",mInitDict2);
//删除
//删除key值对应的条目
[mInitDict2 removeObjectForKey:@"height"];
NSLog(@"删除后 = %@",mInitDict2);
//删除所有条目
[mInitDict2 removeAllObjects];
NSLog(@"删除所有后:%@",mInitDict2);
#集合(集合也分为可变集合和不可变集合)
集合具有互斥性、无序性,集合中不可有相同的对象,对象之间没有顺序,可变集合和不可变集合里面是元素的可变与不可变
不可变集合
//创建对象//用多个对象来创建集合//注意:当有多个相同对象时,只添加一个
NSSet *initSet =[[NSSet alloc]initWithObjects:@"teacher",@"student",@"worker", nil];
NSLog(@"initStr = %@",initSet);
NSSet *initStr1 = [NSSet setWithObjects:@"Teacher",@"Student",nil];
NSLog(@"initSet1 = %@",initStr1);
//获取元素个数功能方法
NSInteger count = [initStr1 count];
NSLog(@"count = %ld",count);
//获取任意元素
//没有任何规律,不是随机
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);
//重复添加是无效的,但是不会报错
[mInitSet addObject:@"xiaohuang"];
NSLog(@"mInitSet = %@",mInitSet);
//删除
[mInitSet removeObject:@"xiaohong"];
NSLog(@"mInitSet = %@",mInitSet);
//删除所有
[mInitSet removeAllObjects];
NSLog(@"mInitSet = %@",mInitSet);