利用多核优势,遍历NSDictionary
2015-11-09 14:49
405 查看
在现在多核CPU的时代,如果遍历NSDictionary的时候你还是通过先取key,在通过key取v alue的方式,你就out啦
下面再把传统的几个遍历方式总结下:
方法一:
NSMutableDictionary *_dbalertlogMap; [_dbalertlogMap enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { NSLog(@“value for key %@ is %@”, key, value); }用这种办法可以充分利用CPU性能。
下面再把传统的几个遍历方式总结下:
方法一:
- (void)describeDictionary:(NSDictionary *dict) { NSArray *keys; int i, count; id key, value; keys = [dict allKeys]; count = [keys count]; for (i = 0; i < count; i++) { key = [keys objectAtIndex: i]; value = [dict objectForKey: key]; NSLog (@"Key: %@ for value: %@", key, value); } }方法二:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil]; for (NSString *key in dict) { NSLog(@"key: %@ value: %@", key, dict[key]); }方法三
NSLog(@"Hello, World!"); NSDictionary *myDic=[[NSDictionary alloc]initWithObjectsAndKeys:@"张三",@"name",@"李四",@"name", nil]; NSUInteger count = [myDic count]; NSLog(@"词典的数量为: %lu",count); NSEnumerator * myEnumerator = [myDic keyEnumerator]; for (NSObject *object in myEnumerator) { NSLog(@"遍历KEY的值: %@",object); } myEnumerator = [[myDic allValues] objectEnumerator]; NSString *value; while((value = [myEnumerator nextObject])) { NSLog(@"遍历的值: %@",value); } //通过KEY找到value NSObject *myObject = [myDic objectForKey:@"name"]; if (myObject != nil) { NSLog(@"通过KEY找到的value是: %@",myObject); } NSMutableDictionary *mydic2 = [NSMutableDictionary dictionaryWithCapacity:10]; [mydic2 setObject:@"Alex Hu" forKey:@"name"]; [mydic2 setObject:@"1388888888" forKey:@"mobile number"]; for (NSObject *object in [mydic2 objectEnumerator]) { NSLog(@"遍历的值: %@",object); }
相关文章推荐
- 手机自动化测试:appium源码分析之bootstrap七
- jadClipse错误记录
- 利用Apache2.4.17做文件服务器
- UISegmentedControl
- iOS消息推送注册
- 让Mysql支持Emoji表情
- 反向传播神经网络极简入门
- 为什么在Pool中传递Queue对象无法运行
- 简单语法分析器实现
- sql server 游标的相关判断整理
- ebs form 控制某个字段不可更改
- 正则表达式
- 图的深度优先遍历(DFS)
- Resin+Apache 整合
- Android实战页面内容加载动画
- 使用Python实现BT种子和磁力链接的相互转换
- 深度学习算法原理——Softmax Regression
- 欢迎使用CSDN-markdown编辑器
- ListView CheckBox 全选,单选
- Java线程池源码解析及高质量代码案例