注意点:字典是无序的,采取的是 键值 的形式,类似于JAVA中的map
一、NSDirctionary类
#import <Foundation/Foundation.h>
int main(int argc, const charchar * argv[]){
@autoreleasepool{
NSArray * array1 = [NSArray arrayWithObjects:@"zhangsan", @"china", nil];
NSArray * array2 = [NSArray arrayWithObjects:@"wangwu", @"japan", nil];
//1 -- 创建字典 -- initWithObjectAndKeys方法
NSDictionary * dict = [NSDictionary alloc]initWithObjectAndKey:array1,@"zhang", array2, @"li" ,nil];
NSLog(@"%@", dict);
//2 -- 存放一个元素 -- dictionaryWithObject方法
NSDictionary * dict2 = [NSDicationary dictionaryWithObject:array1 forkey:@"zhang"];
//3 -- 获取所有的key -- allKey方法
NSArray * allkeys = [dict allkeys];
//4 -- 获取所有的value -- allvalues方法
NSArray * allvalues = [dict allValues];
//5 -- 优化的语法
NSDictionary * dict5 = @{@"zhangsan":array1, @"lisi",array2};
}
}
二、NSMutableDirctionay类
#import <Foundation/Foundation.h>
int main(int argc, const charchar * argv[]){
//1 -- 创建字典,开辟空间
NSMutableDictionary * md1 = [[NSMutableDictionary alloc]initWithCapacity:3];
NSArray * array1 = [[NSArray alloc]initWithObject:@"zhangsan",@"lisi", nil];
//2 -- 添加元素 -- addEtriesFromDictionary方法
[md1 setObject: array1 forkey:@"zhang"];
NSMutableDictionary * md2 = [[NSMutableDictionary alloc]initWithCapacity:3];
[md2 addEtriesFromDictionary:md1];
//3 -- 删除元素 -- removeObjectForKey/removeAllObjects/removeObjectsForKeys方法
[md1 removeObjectForKey:@"zhang"]; //以key删除
[md1 remvoreAllObjects];//删除所有元素
[md1 removeObjectsForKeys:array1];//以value删除
//4 -- 遍历字典
//快速遍历
for(NSString *key in md1){
NSArray * values = [md1 objectForKey:key];
for(NSString * v in values){
MSLog(@"%@", v);
}
}
//普通遍历
NSArray * allkey = [md1 allkeys];
for(int i =0 ; i < allkey.count; i++){
NSArray * value = [md1 objectForKey:all
}
}