2019独角兽企业重金招聘Python工程师标准>>>
#import
int main(int argc, const char * argv[]) {
@autoreleasepool {
//1.实例化一个字典对象
/*
字典的元素 是任意的对象地址类型
元素 是键值对 key - value 必须一一对应 成对出现
最后 nil 作为结束
字典内容 是无序的 跟存放顺序无关
key是唯一 的不能重复 但是 不同的key 可以对应相同的值
key通常写成 NSString *
哈希表 散列函数的算法 进行存放和查找 查找效率非常高
*/
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"1",@"one",@"2",@"two",@"3",@"three",@"2015-4-23",@"today",@"xiaohong",@"name",@"2015-4-23",@"date", nil];
NSLog(@"dict:%@",dict);
//2.用一个字典实例化另外一个字典
NSDictionary *dict2 = [[NSDictionary alloc] initWithDictionary:dict];
NSLog(@"dict2:%@",dict2);
//3.类方法实例化对象
NSDictionary *dict3 = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"one",@"2",@"two",@"3",@"three", nil];
NSLog(@"dict3:%@",dict3);
NSDictionary *dict4 = [NSDictionary dictionaryWithDictionary:dict3];
NSLog(@"dict4:%@",dict4);
NSArray *keysArr = [[NSArray alloc] initWithObjects:@"one",@"two", nil];
NSArray *valuesArr = [[NSArray alloc] initWithObjects:@"1",@"2", nil];
//用两个数组 实例化一个字典 两个数组 元素要一一对应
NSDictionary *dict5 = [NSDictionary dictionaryWithObjects:valuesArr forKeys:keysArr];
NSLog(@"dict5:%@",dict5);
//通过key 找到值 重要函数
//只要我们 通过A找A对应的值 那么我们就可以用字典结构来存储
//查找非常 快
NSString *str = [dict2 objectForKey:@"date"];
if (str) {
NSLog(@"str:%@",str);
}else {
NSLog(@"没有找到");//找不到返回nil
}
//快速枚举遍历
//快速枚举遍历的是key
for (NSString *key in dict2) {
NSLog(@"key:%@ - %@",key,[dict2 objectForKey:key]);
}
//扩展
//获取字典 所有的key
NSArray *allKeysArr = [dict2 allKeys];
NSArray *allValuesArr = [dict2 allValues];
NSLog(@"%@",allKeysArr);
NSLog(@"%@",allValuesArr);
}
return 0;
}