NSDictionary及NSMutableDictionary
来源:互联网 发布:淘宝开店协议无法同意 编辑:程序博客网 时间:2024/05/29 15:46
/* NSDictionary 作用:通过key值,访问value值 注意:key值和value值都是对象 键值对集合的特点: 1.key值重复的只能保存一个,并且是第一个。而NSMutableDictionary则是保存最后一个 2.根据key值找value值 3.键值对中存储的数据是无效的 NSMutableDictionary NSDictionary创建的字典是不可变的,也就是不能惊醒增删修改,而NSMutableDictionary可以,而且他继承自NSDictionary */#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){ @autoreleasepool { //NSDictionary //创建空字典 NSDictionary *dict1 = [NSDictionary dictionary]; NSLog(@"dict1 = %@",dict1); //创建只有一对键值对的字典 NSDictionary *dict2 = [NSDictionary dictionaryWithObject:@"liuda" forKey:@"1"]; NSLog(@"dict2 = %@",dict2); //创建有多个键值对的字典,如果出现相同的key值,那么第一个被保存,后面相同key值的不被保存 NSDictionary *dict3 = [NSDictionary dictionaryWithObjectsAndKeys:@"suner",@"2",@"zhangsan",@"3",@"lisi",@"4", nil]; NSLog(@"dict3 = %@",dict3); //快速创建字典{。。key值:value值,。。。} NSDictionary *dict4 = @{@"key1":@"value1",@"key2":@"value2"}; NSLog(@"dict4 = %@",dict4); //NSDictionary的操作 //获取当前字典有多少对键值 NSLog(@"%lu",dict4.count); //根据键值获取value值 NSString *str = [dict4 objectForKey:@"key2"]; NSLog(@"%@",str); //遍历字典(第一步:获取所有的key值,第二步:根据key值,获取value值) //第一种方法 NSLog(@"dict3 = %@",dict3); for(NSString *key in dict3){ NSLog(@"%@ = %@",key,[dict3 objectForKey:key]); } //第二种方法(block) [dict3 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { NSLog(@"%@ = %@",key,obj); }]; NSLog(@"Hello, World!"); //NSMutableDictionary //创建空字典 NSMutableDictionary *ndic1 = [NSMutableDictionary dictionary]; NSLog(@"ndic1 = %@",ndic1); //创建只含有一个键值对的字典 NSMutableDictionary *ndic2 = [NSMutableDictionary dictionaryWithObject:@"value1" forKey:@"key1"]; NSLog(@"ndic2 = %@",ndic2); //创建有多个键值对的字典,如果出现相同的key值,那么第一个被保存,后面相同key值的不被保存 NSMutableDictionary *ndic3 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"value2",@"key2",@"value3",@"key3",@"value4",@"key4", nil]; NSLog(@"ndic3 = %@",ndic3); //快速创建 NSMutableDictionary *ndic4 = @{@"key5":@"value5",@"key6":@"value6",@"key7":@"value7"}; NSLog(@"ndic4 = %@",ndic4); //NSMutableDictionary的操作 //添加 [ndic1 setObject:@"zhuhoulin1" forKey:@"1"]; [ndic1 setObject:@"zhuhoulin2" forKey:@"2"]; [ndic1 setObject:@"zhuhoulin3" forKey:@"3"]; [ndic1 setObject:@"zhuhoulin4" forKey:@"1"];//setObject不仅仅是添加的作用,他也有修改的作用 NSLog(@"ndic1 = %@",ndic1); //删除 //根据key值删除键值对 [ndic1 removeObjectForKey:@"1"]; NSLog(@"ndic1 = %@",ndic1); //删除所有键值对 [ndic1 removeAllObjects]; NSLog(@"ndic1 = %@",ndic1); //修改,同添加使用相同的方法 [ndic1 setObject:@"wunw" forKey:@"3"]; NSLog(@"ndic1 = %@",ndic1); //简写方法 ndic1[@"2"] = @"wwwww"; NSLog(@"ndic1 = %@",ndic1); //查找 NSArray *arr = [ndic1 allKeys]; BOOL Is = [arr containsObject:@"5"];//查看是否包含该key值的元素 NSLog(@"%d",Is); //遍历字典(第一步:获取所有key值,第二步根据key值获取value值) NSLog(@"ndic3 = %@",ndic3); for(NSString *str in ndic3){ NSLog(@"%@ = %@",str,[ndic3 objectForKey:str]);//发现打印的时候乱序,尽量键值中不要出现key+数字(key10,key9==) } [ndic3 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { NSLog(@"%@ = %@",key,obj); }]; } return 0;}
0 0
- NSDictionary及NSMutableDictionary
- NSDictionary NSMutableDictionary
- NSDictionary、NSMutableDictionary
- NSDictionary NSMutableDictionary
- NSDictionary NSMutableDictionary
- NSDictionary /NSMutableDictionary
- NSDictionary/NSMutableDictionary
- NSDictionary NSMutableDictionary
- NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)
- NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)
- NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)
- [iphone] NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)
- NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)
- 20150612_OC之字典NSDictionary及NSMutableDictionary
- ios+iphone NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)
- 黑马程序员----OC学习之NSDictionary及NSMutableDictionary
- 字典(NSDictionary)及可变字典(NSMutableDictionary)基础学习
- Objective-c - NSDictionary(NSMutableDictionary)
- C/C++中字符串与数字之间的转换
- Redis 存储字符串和对象
- ThreadLocal源码解析
- java 获取当前时间的天、周、月、季度、半年度、年度开始和结束时间
- phpstorm设置编码 gbk gb2312 支持 asp
- NSDictionary及NSMutableDictionary
- Java读properties文件中文乱码问题的解决方法
- 控件学习---UIButton--摘自培训资料
- Spark源码阅读笔记之MetadataCleaner
- C语言第一天
- PC110101(3n+1问题)(3n+1 Problem)
- 一个JavaWeb项目中使用的部分技术
- HDU 1083 Courses(二分匹配匈牙利算法模板题啊)
- 第一个项目所学记录