OC语言中的字典
来源:互联网 发布:如何判断数据的优劣 编辑:程序博客网 时间:2024/05/16 00:51
一:字典的基本概念
Foundation中的字典(NSDictionary,NSMutableDictionary)是由键-值对组成的数据集合.正如,我们在字典里查找单词的定义一样.
通过key(键),查找的对应的value(值),key通常是字符串对象,也可以是其他任意类型对象.在一个字典对象中,key的值必须是唯一的.
此外,字典对象的键和值不可以为空(nil),如果需要在字典中加入一个空值,可以加入NSNull对象
二:不可变字典-NSDictionary
1:初始化(以一个元素和多个元素进行初始化):
//以一个键值对象 进行初始化
12345NSDictionary *dict1=[NSDictionary dictionaryWithObject:numObj1 forKey:@
"key1"
];
NSLog(@
"%@"
,dict1);
//以多个元素进行初始化
NSDictionary *dict2=[NSDictionary dictionaryWithObjectsAndKeys:numObj1, @
"key1"
,numObj2,@
"key2"
, nil];
NSLog(@
"%@"
,dict2);
12
:获取字典的数量
1//获取字典的数量
NSInteger count=[dict2 count];
NSLog(@"%ld",count);
3:根据key获取相应的value对象
//根据key获取相应的value对象
4:把字典的key转换成枚举对象用于遍历12NSString *value=[dict2 objectForKey:@
"key1"
];
NSLog(@
"%@"
,value);
NSEnumerator *enumerator=[dict2 keyEnumerator];
5:获取所有的key集合//获取所有的key集合
6:获取所有的value集合12NSArray *keys= [dict2 allKeys];
NSLog(@
"%@"
,keys);
//获取所有的value集合
三:可变字典NSMutableDictionary继承自NSDictionary12NSArray *values=[dict2 allValues];
NSLog(@
"%@"
,values);
1:初始化字典
2:向字典中添加指定的字典12//初始化字典
NSMutableDictionary *mutableDic=[[NSMutableDictionary alloc]initWithObjectsAndKeys:@
"v1"
,@
"k1"
,@
"v2"
,@
"k2"
,@
"v3"
,@
"k3"
,@
"v4"
,@
"k4"
,@
"v5"
,@
"k5"
, nil];
//向一个字典中添加一个字典
3:向字典中添加value和key123NSDictionary *dict4=[NSDictionary dictionaryWithObject:@
"v6"
forKey:@
"k6"
];
[mutableDic addEntriesFromDictionary:dict4];
NSLog(@
"%@"
,mutableDic);
4:创建空的字典,然后设置新的一个字典12//向字典中添加value和key
[mutableDic setValue:@
"object"
forKey:@
"key"
];
5:删除指定key的value值1234//创建空的字典,然后设置新的一个字典,把会之前的字典全部覆盖掉
NSMutableDictionary *mutableDict2=[NSMutableDictionary dictionary];
[mutableDict2 setDictionary:mutableDic];
NSLog(@
"%@"
,mutableDict2);
6:删除移除key集合的value值123//移除指定key的value值
[mutableDict2 removeObjectForKey:@
"k4"
];
NSLog(@
"%@"
,mutableDict2);
7:删除字典中所有的value1234//删除一组key的value值
NSArray *arrayKeys=[NSArray arrayWithObjects:@
"k1"
,@
"k2"
,@
"k3"
, nil];
[mutableDict2 removeObjectsForKeys:arrayKeys];
NSLog(@
"%@"
,mutableDict2);
//删除字典中所有的数据
四:枚举遍历12[mutableDict2 removeAllObjects];
NSLog(@
"%@"
,mutableDict2);
1:一般遍历
//一般遍历
123456NSArray *allKeys=[mutableDic allKeys];
for
(NSInteger i=
0
; i<[allKeys count]; i++) {
NSString *obj=[mutableDic objectForKey:[allKeys objectAtIndex:i]];
NSLog(@
"%@"
,obj);
}
2:快速枚举
//快速遍历
3:迭代器枚举1234for
(id key in mutableDic) {
NSString *object=[mutableDic objectForKey:key];
NSLog(@
"%@"
,object);
}
12345678//枚举器
NSEnumerator *enumerator1= [mutableDic keyEnumerator];
id key=[enumerator1 nextObject];
while
(key) {
id object=[mutableDic objectForKey:key];
NSLog(@
"%@"
,object);
key=[enumerator1 nextObject];
}
0 0
- OC语言中的字典
- OC语言--数组&字典
- OC语言字典
- OC中的可变字典
- OC中的字典NSDicitionary
- OC中的字典dictionary
- OC中的字典
- OC菜鸟成长记-OC中的字典
- OC中的不可变字典
- OC中的数组、字典、集合
- OC语言中的方法
- OC语言中的self
- OC语言中的继承
- OC语言中的protocol
- OC语言中的block
- OC语言中的通知
- OC语言学习06-字典对象
- OC语言笔记(三):OC数组和字典
- Search a 2D Matrix
- @Repository、@Service、@Controller 和 @Component
- 计算机视觉领域大牛的博客以及研究机构等
- 面向 Java 开发人员的 Scala 指南: 深入了解 Scala 并发性
- WWDC 2014 Session笔记 - iOS界面开发的大一统
- OC语言中的字典
- hdu 2152 Fruit
- Eclipse快捷键大全
- apache集群配置负载均衡
- 【线段树】HDU 1166---敌兵布阵
- ELF文件格式实例解析
- Babelfish+poj+字典树
- 只是打印素数而已
- water(这里都是水题,直到把oj某几面刷完)