字典是无序的 数组是有序的
字典分为:可变字典和不可变字典
01 --------不可变字典对象
02
NSDictionary * dict = [[NSDictionary
alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4",
nil];
03 //value = key
04 //初始化必须一一对应 字典的内容是键值对 key->value 内容可以是任意的对象指针
05 //key 一般是NSString * value 可以是任意对象
06 //不能出现重复的key key是唯一的
07
08 NSDictionary * dict1 = [NSDictionary dictionaryWithDictionary:dict];
09
10 NSArray * values = [NSArray arrayWithObjects:@"one",@"two",@"three", nil];
11 NSArray * keys = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];//key-value要一一对应
12 NSDictionary * dict2 = [[NSDictionary alloc]initWithObjects:values forKeys:keys];
13
14 [dict count]//键值对的个数 键值对必须成对出现
15 [dict objectForKey:@"5"]//根据key找到对应的value
16
17 //创建一个key的枚举器 把字典中key元素地址传给枚举器
18 NSEnumerator * enumer1 = [dict keyEnumerator];
19 id obj;
20 while (obj = [enumer1 nextObject]) {
21 NSLog(@"%@",[dict objectForKey:obj]);
22 }
23
24 //创建值的枚举器(一般不使用,没有意义)
25 NSEnumerator * enumer2 = [dict objectEnumerator];
26 while (obj = [enumer2 nextObject]) {
27 NSLog(@"%@",obj);
28 }
29 //快速枚举 枚举的是key(不能改数据,只能读)
30 for(id key in dict){
31 NSLog(@"%@",key);
32 }
33
34 NSArray * array = [urlItemDict allValues];//获取所有value
35 NSArray * array = [urlItemDict allKeys];//获取所有key------可变字典对象
1 ------可变字典对象
2
3
NSMutableDictionary * dict = [[NSMutableDictionary
alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4",
nil];
4
5 [dict setObject:@"seven" forKey:@"7"];//增加键值对 key已经存在 则修改value 不存在则添加
6 [dict setObject:@"nine" forKey:@"1"];//修改value
7 [dict removeObjectForKey:@"1"];//删除键值对