黑马程序员_学习IOS之字典常用的方法

字典是无序的 数组是有序的。字典分为:可变字典和不可变字典

 不可变字典对象

NSDictionary * dict = [[NSDictionary
alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4",
nil];
//value = key
//初始化必须一一对应 字典的内容是键值对 key->value
内容可以是任意的对象指针
//key 一般是NSString * value 可以是任意对象
//不能出现重复的key
key是唯一的

NSDictionary * dict1 = [NSDictionary
dictionaryWithDictionary:dict];

NSArray * values = [NSArray
arrayWithObjects:@"one",@"two",@"three", nil];
NSArray * keys = [NSArray
arrayWithObjects:@"1",@"2",@"3", nil];//key-value要一一对应
NSDictionary * dict2 =
[[NSDictionary alloc]initWithObjects:values forKeys:keys];

[dict
count]//键值对的个数 键值对必须成对出现
[dict objectForKey:@"5"]//根据key找到对应的value


//创建一个key的枚举器 把字典中key元素地址传给枚举器
NSEnumerator * enumer1 = [dict
keyEnumerator];
id obj;
while (obj = [enumer1 nextObject]) {

NSLog(@"%@",[dict
objectForKey:obj]);
}

//创建值的枚举器(一般不使用,没有意义)
NSEnumerator * enumer2
= [dict objectEnumerator];
while (obj = [enumer2 nextObject]) {

NSLog(@"%@",obj);
}
//快速枚举 枚举的是key(不能改数据,只能读)
for(id key in dict){

NSLog(@"%@",key);
}

NSArray * array = [urlItemDict
allValues];//获取所有value
NSArray * array = [urlItemDict
allKeys];//获取所有key------可变字典对象

可变字典对象

NSMutableDictionary * dict = [[NSMutableDictionary
alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4",
nil];

[dict setObject:@"seven" forKey:@"7"];//增加键值对 key已经存在 则修改value
不存在则添加
[dict setObject:@"nine" forKey:@"1"];//修改value
[dict
removeObjectForKey:@"1"];//删除键值对

黑马程序员_学习IOS之字典常用的方法,布布扣,bubuko.com

时间: 2024-10-06 01:19:12

黑马程序员_学习IOS之字典常用的方法的相关文章

黑马程序员——OC学习小结------构造方法,分类,方法的重写,SEL

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.万能指针,能指向\操作任何OC对象 typedef (NSObject *) id; // id == NSObject 二.构造方法 1.完整地创建一个可用的对象: 1>分配存储空间  +alloc 2>初始化 –init init就是构造方法:用来初始化对象的方法,是个对象方法,- 开头 重写构造方法的目的:为了让对象创建出来,成员变量就会有一些固定的值 2.重写构造方法的注意点:

黑马程序员_第一天视频学习

一.      计算机和软件常识 1.      计算机运行原理 1)          硬件基本组成:硬盘.内存.CPU 2)          各个部件之间的运作协调(下图) 2.      计算机只能识别0和1 1)          0和1组成的指令 2)          0和1组成的数据 3.      计算机和软件的联系 1)          软件的基本概念:指令的集合 2)          软件的安装运行过程 3)          为什么要开发软件:写出能控制计算机的指令

黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合. 2.常见的软件:系统软件:如:DOS,Windows,Linux等.应用软件:如:扫雷,迅雷,QQ等. 3.什么是开发?制作软件. 二.基础知识:人机交互方式 4.软件的出现实现了人与计算机之间的更好的交互. 5.交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作.命令行方式:

黑马程序员——Foundation学习笔记(NSSet和NSMutableSet)

==========android培训.ios培训.java培训.期待与您交流========== 一.NSSet: NSSet NSSet里面存储的元素没有顺序,NSArray中的元素有顺序. NSSet *s = [NSSet set]; // 创建一个空的Set,永远是空,不可变. NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose",nil]; NSString *str = [s2 anyObject]; //

黑马程序员-OC学习笔记之Foundatio框架集合类

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.OC数组 OC数组是一个类,它也分不可变数组NSArray和可变数组NSMutableArray. 1?不可变数组的创建 // 创建一个不可变数组,元素为一个OC字符串对象 @"小桥" NSArray *array1 = [NSArray arrayWithObject:@"小桥"]; // 创建一个不可变数组,元素为多个O

黑马程序员_集合

集合1.集合和对象数组的区别: 数组的长度不可变,集合的可变: 数组可以存储基本数据类型和对象,集合只能存储对象. 集合的框架图 集合派系的顶层接口Collection1.Collection集合存储对象的方法: add(E e)将元素存储到集合中 addAll(Collection c)将一个集合添加到另外的集合中2.Collection集合提取对象的方法: 通过迭代器iterator中的方法:hasNext()和next()来取出 Iterator it=new iterator(); wh

黑马程序员_OC学习笔记之Foundation框架集合类

OC--集合类 1.OC集合类包括NSArray,NSSet,NSDictionary都是以面向对象的方式操作数组,而且OC数组不像C语言中的数组只能存放同一种数据类型,它可以存放任意类型的对象,但是不能存放非OC对象类型如基本数据类型int,struct,enum等 2.OC数组是以对象的方式存在,因此在创建的时候需要为创建的对象前面加* 3.NSArray数组一旦创建就决定了是不是可变,而且永远是可变或不可变 4.NSArray数组和子类NSMutableArray的基本操作: 1>使用NS

黑马程序员_银行业务调度系统

1,项目的具体需求 银行业务调度系统 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口. 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费.电话费之类业务的客户). 异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户 :普通客户 :快速客户 = 1 :6 :3.   客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速

黑马程序员_构造函数间的调用

这是我的第一篇博客,从这篇开始我将记录下学习java的心得体会,欢迎志同道合的朋友随时与我讨论,共同进步. 我们都知道,函数间可以互相调用.构造函数是一种特殊的函数,它用来给对象进行初始化,如果想在构造构造函数中调用另一个构造函数,分为以下两种情况: 1.子类调用父类的构造函数 先来看一段代码 1 class Person 2 { 3 public Person() 4 { 5 // 构造语句 6 } 7 } 8 9 class Student extends Person 10 { 11 pu