OC-Dictionary简介
OC中的Dictionary类似java中的map,是无序的键值对组合。键不可以重复,值可以重复。
NSDictionary对象实例化
//value在前,key在后
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"one",@"2",@"two",@"3",@"three", nil];
NSLog(@"%@", dic);
NSDictionary *dic1 = @{@"one":@"1", @"two":@"2"};
NSLog(@"%@", dic1);
根据key查找value值
//方法一
NSString *value = [dic valueForKey:@"one"];
NSLog(@"%@", value);
//方法二
NSLog(@"%@", dic[@"two"]);
//方法三
NSLog(@"%@",[dic objectForKey:@“one"]);
遍历操作
//遍历,根据key值获取value值
for (NSString *str in [dic allKeys]) {
NSLog(@"str = %@", [dic valueForKey:str]);
}
//遍历key值
for (id str in dic) {
NSLog(@"str=%@", str);
}
//遍历value值
for (id obj in [dic allValues]) {
NSLog(@"obj = %@", obj);
}
可变Dictionary-NSMutableDictionary
NSMutableDictionary *mutableDic = [[NSMutableDictionary alloc]init];
//NSMutableDictionary *mu = [NSMutableDictionary dictionary];
[mutableDic setObject:@"one" forKey:@"1"];
[mutableDic setObject:@"two" forKey:@"2"];
[mutableDic setObject:@"three" forKey:@"3"];
[mutableDic setObject:@"three11" forKey:@"3"];//将之前key为3的覆盖
[mutableDic setObject:@"four" forKey:@"4"];
NSLog(@"\n%@", mutableDic);
[mutableDic removeObjectForKey:@"1"];
NSLog(@"%@", mutableDic);
[mutableDic removeObjectsForKeys:[NSArray arrayWithObjects:@"2",@"3", nil]];
NSLog(@"%@", mutableDic);
[mutableDic removeAllObjects];
NSLog(@"%@", mutableDic);NSMutableDictionary *mutableDic = [[NSMutableDictionary alloc]init];
//NSMutableDictionary *mu = [NSMutableDictionary dictionary];
[mutableDic setObject:@"one" forKey:@"1"];
[mutableDic setObject:@"two" forKey:@"2"];
[mutableDic setObject:@"three" forKey:@"3"];
[mutableDic setObject:@"three11" forKey:@"3"];//将之前key为3的覆盖
[mutableDic setObject:@"four" forKey:@"4"];
NSLog(@"\n%@", mutableDic);
[mutableDic removeObjectForKey:@"1"];
NSLog(@"%@", mutableDic);
[mutableDic removeObjectsForKeys:[NSArray arrayWithObjects:@"2",@"3", nil]];
NSLog(@"%@", mutableDic);
[mutableDic removeAllObjects];
NSLog(@"%@", mutableDic);