Objective-C:NSDectionary字典的常见操作
NSDectionary字典:它是一个存储键值的容器,每一个键key都对应着一个值value,可以通过键key一次性找到目标值value,这是一个比较好的存储器,相比于数组而言,它明显提高了查询效率。同时,它存储数据的方式采用的是哈希存储,因此它的存储的数据是无序的。
NSDectionary字典的主要操作有:创建、遍历等,,,
//
// main.m
// 03-NSDectionary
//
// Created by ma c on 15/8/18.
// Copyright (c) 2015年 bjsxt. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool
{
//NSDectionary字典对象,字典中存储的是键值对 key:value,键一般是采用字符串NSString
//1.创建
NSDictionary *dic = @{@"one":@1,@"two":@2,@"three":@3};
NSLog(@"%@",dic);
//字典采取哈希表的形式存储,在查找对象的时候非常的块,接近一次命中。
NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@1,@"one",@2,@"two",@3,@"three",nil];
NSLog(@"%@",dic2);
//2.枚举遍历
for(id key in dic2)
{
//NSLog(@"%@=%@",key,[dic2 objectForKey:key]);
NSLog(@"%@=%@",key,dic2[key]);
}
//Block遍历
[dic2 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSLog(@"%@=%@",key,dic2[key]);
if([key isEqualToString:@"three"])
{
*stop = YES;
}
}];
//取出所有的key遍历
NSArray *keys = [dic2 allKeys];
[keys enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%@=%@",obj,[dic2 objectForKey:obj]);
}];
// NSArray *value = [dic2 allValues];
// [value enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
// NSLog(@"%@",obj);
// }];//取出所有的value值
//3.将字典存储到文件
[dic2 writeToFile:@"/Users/mac/desktop/dic.plist" atomically:NO];
//4.通过读文件创建字典
NSDictionary *dic3 = [NSDictionary dictionaryWithContentsOfFile:@"/Users/mac/desktop/dic.plist"];
NSLog(@"%@",dic3);
}
return 0;
}
Objective-C:NSDectionary字典的常见操作的更多相关文章
- python 字典的常见操作
字典 字典的增删改查 字典的创建方式: # 创建字典类型 info = { 'name':'李白', ', 'sex':'男' } msg = { 'user01':'Longzeluola', 'u ...
- 字典的常见操作<一>
<1>修改元素 字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改 Demo from pip._vendor.distlib.compat import raw_input ...
- 字典的常见操作<二>
<1>len() 测量字典中,键值对的个数 <2>keys 返回一个包含字典所有KEY的列表 <3>values 返回一个包含字典所有value的列表 <4& ...
- python(二)——list、字典、字符串操作
列表——list 假设一种场景,想要存班里所有同学的名字,那应该拿什么存呢? 我们可以拿一个字符串去存,例如: stus = "s1,s2,s3,s4,s5……sn" 那我们要从里 ...
- Redis安装和客户端cli常见操作
安装Redis $ wget http://download.redis.io/releases/redis-4.0.6.tar.gz $ tar xzf redis-4.0.6.tar.gz $ c ...
- python字典及相关操作
1.字典 1.1.字典特性 字典是一种key-value的数据类型.key必须可hash,必须为不可变数据类型,且必须是唯一的:value可以存放任意多个值.可修改.可以不唯一:字典是无序的,通过ke ...
- 『无为则无心』Python序列 — 21、Python字典及其常用操作
目录 1.字典的应用场景 2.字典的概念 3.创建字典的语法 4.字典常见操作 (1)字典的增加操作 (2)字典的删除操作 (3)字典的修改 (4)字典的查找 (5)copy()复制 1.字典的应用场 ...
- 动态单链表的传统存储方式和10种常见操作-C语言实现
顺序线性表的优点:方便存取(随机的),特点是物理位置和逻辑为主都是连续的(相邻).但是也有不足,比如:前面的插入和删除算法,需要移动大量元素,浪费时间,那么链式线性表 (简称链表) 就能解决这个问题. ...
- C#路径/文件/目录/I/O常见操作汇总
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...
随机推荐
- CodeForces - 620C Pearls in a Row 贪心 STL
C. Pearls in a Row time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- GPS数据包格式及数据包解析
GPS数据包解析 GPS数据包解析 目的 GPS数据类型及格式 数据格式 数据解释 解析代码 结构体定义 GPRMC解析函数 GPGGA解析函数 测试样例输出 gps数据包格式 gps数据解析 车联网 ...
- POJ 3254 & POJ 1185(状压DP入门)
Corn Fields Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 16773 Accepted: 8860 Desc ...
- Mac 上自带TFTP Server 软件的使用
搬瓦工搭建SS教程 1.TFTP协议 简单文件传输协议Trivial File Transfer Protocol (TFTP)是一个基于UDP协议的简单的.低开销的文件传输协议,允许客户端get或者 ...
- 学好js,这些js函数概念一定要知道
函数创建方式 1.声明方式 例如:function consoleTip (){ console.log("tip!"); } 2.表达式方式 例如:var consoleTip ...
- [Hdu4372] Count the Buildings
[Hdu4372] Count the Buildings Description There are N buildings standing in a straight line in the C ...
- Codeforces Round #295 (Div. 2)C - DNA Alignment 数学题
C. DNA Alignment time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- Linux性能监控分析命令(四)—top命令介绍
性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...
- Go语言Web框架gwk介绍 (三)
上一篇忘了ChanResult ChanResult 可以用来模拟BigPipe,定义如下 type ChanResult struct { Wait sync.WaitGroup Chan chan ...
- Git_分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的comm ...