OC基础—集合之NSSet、NSDictionary(字典)、NSMutableDictionary
来源:互联网 发布:ping测试网络 编辑:程序博客网 时间:2024/04/27 13:22
------ android培训、java培训、期待与您交流! ----------
集合之NSSet、NSDictionary(字典)、NSMutableDictionary
1. NSSet
简介:
NSSet和NSArray都是差不多的,最大的区别是NSArray是有顺序的,而NSSet是无序的。
而且NSSet有一个子类NSMutableSet(可变数组)。
NSSet创建:
创建空的NSSet:
NSSet *s = [NSSet set]; // NSSet是不可变的所以s永远是空的有元素的NSSet:
NSSet *s2 = [NSSet setWithObjects:@"liye", @"hshs",@"231",nil];因为NSSet是无序的,所以我们无法去除特定元素,只能随机取出元素
NSString *str = [s2 anyObject];
NSMutableSet:(可变的Set)
创建一个NSMutableSet,添加与删除元素
NSMutableSet *s = [NSMutableSet set];// 添加元素[s addObject:@"liye"];// 删除元素,因为是无序的,所以只能删除所有元素[a removeAllObject];
2. NSDictionary(字典)
可以说是NSArray、NSSet、NSDictionary中最好用的。
创建:
NSDictionary *dict = [NSDictionary dictionaryWithObject:@"liye" forKey:@"name"];有着我们就可以看出,NSDictionary里存的都是键值对,根据name这个属性就可以取得name对应的值liye。例如:
id obj = [dict objectForKey:@"name"];这里的obj就是那么对应的元素liye。
我们可以存储多个键值对:
NSArray *keys = @[@"name", @"address"];NSArray *objects = @[@"liye", @"heima"];// 使用这个方法存储多个键值对NSDictionary *dict = [NSDictionary dictionaryWithObject:objects forkeys:keys];
还有一种方式
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: @"liye",@"name", @"address", @"黑马", nil];
第一个是Obj,之后一个就是他的Key。
创建NSDictionary:
NSDictionary *dict = @{@"name" : @"liye", @"address" : @"黑马"};调用元素:
id obj = dict[@"name"];这样就简单多了。
3. NSMutableDictionary(可变)
建立一个新的可变Dictionary
NSMutableDictionary *dict = [NSMutableDictionary dictionary];添加键值对
[dict setObject:@"liye" forKey@"name"];[dict setObject:@"北京" forKey@"address"];在字典里元素是没有顺序的。
如果有重复的Key,那么就会覆盖掉原来Key的值。
4. 字典遍历
NSDictionary *dict = @{@"name" : @"liye", @"heima" : @"123"};我们先使用for循环遍历
NSArray *keys = [dict allKeys];for (int i = 0; i<dict.count; i++){ id obj = dict[keys[i]]; NSLog(@"%@", obj);}用block来遍历
[dict enumerateKeysAndObjectsUsingBlock: ^(id key, id obj, BOOL *stop){ NSLog(@"%@-%@",key , obj);}];
------ android培训、java培训、期待与您交流! ----------
0 0
- OC基础—集合之NSSet、NSDictionary(字典)、NSMutableDictionary
- OC学习之道:OC对象,字典,集合的使用方法NSDictionary,NSMutableDictionary, NSSet,NSMutableSet,NSCountedSet
- OC之字典(NSDictionary, NSMutableDictionary)
- OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法
- 黑马程序员-oc基础-集合NSDictionary,NSMutableDictionary
- NSDictionary 字典 集合NSSet
- OC中NSDictionary、NSMutableDictionary、NSSet、NSMutableSet
- OC字典(NSDictionary)和集合(NSSet)的总结
- iOS OC (五) 字典NSDictionary 数组 NSArray 集合 NSSet
- NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)的常用方法
- OC学习之NSDictionary,NSSet
- OC学习之NSDictionary,NSSet
- NSDictionary && NSMutableDictionary && NSSet
- OC-字典常用操作(NSDictionary、NSMutableDictionary)
- OC-字典常用操作(NSDictionary、NSMutableDictionary)
- OC-字典常用操作(NSDictionary、NSMutableDictionary)
- 《OC基础教程》读书笔记8-字典NSDictionary,NSMutableDictionary
- iOS开发-Day19-OC NSDictionary&NSMutableDictionary&NSSet&NSMutableSet
- [NOI2005]维修数列(SplayTree)
- OCP-1Z0-051 第48题 索引
- 堆排序总结【转】
- android MediaPlayer 的使用背景音乐的播放
- C++primer plus第六版课后编程题答案15.4
- OC基础—集合之NSSet、NSDictionary(字典)、NSMutableDictionary
- paip.输入法编程--英文ati化By音标原理与中文atiEn处理流程 python 代码为例
- paip.前端加载时间分析之道优化最佳实践
- paip.多维理念 输入法的外码输入理论跟文字输出类型精髓
- 2014-4-21
- 一个高效的敏感词过滤方法(PHP)
- 在Qt中如何写控制台程序-helloword
- paip.utf-8,unicode编码的本质输出unicode文件原理 python
- OCP-1Z0-051 第49题 SYNONYM同义词