java泛型的字典,OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)

一:字典的基本概念

Foundation中的字典(NSDictionary和NSMutableDictionary)是由键(key)和值(value)组成的数值集合,就像我们查字典一样,通过键(key)来查找到值(value)。

key值通常是字符串对象,也可以是任意其他类型的对象,在一个字典对象中,key值必须是唯一的。

此外字典的键和值不能为空(nil),如果想在字典中加入一个空值,可以引入NSNull对象。

注意:①字典的对象储存是没有顺序的。

②NSMutableDictionary是NSDictionary的子类,能使用其所有方法。

③NSMutableDictionary是NSDictionary的可修改版

④ 字典的值(value)可以是任何类型的对象

//例如:字典的值(value)可以是数组

NSArray*arr=@[@"1",@"2"];

NSDictionary*dict=@{

@"name":@"Peter",

@"age":@"18",

@"subject":arr                            };

二:不可变字典(NSDictionary)

①字典的初始化

//---简便方式

NSDictionary *dict=@{

@"name":@"Peter",

@"age":@"18"

};

//---dictionaryWithObjectsAndKeys

NSDictionary*dict=[NSDictionary

dictionaryWithObjectsAndKeys:@"Peter",@"name",@"18",@"age", nil];

//---dictionaryWithObjects--forKeys

NSDictionary *dict=[NSDictionary dictionaryWithObjects:@[@"Peter",@"18"] forKeys:@[@"name",@"age"] ];

②字典的常用方法

输出字典key值对应的value值

//---objectForKey

NSLog(@"name--%@",[dict objectForKey:@"name"]);

//[objectForKey:@"name"]等价于dict[@"name"]

NSLog(@"name--%@",dict[@"name"]);

字典的遍历

//获取所有的key

[dict allKeys];

//遍历

for (NSString*key in dict.allKeys) {

NSLog(@"%@:%@",key,dict[key]);

}

三:可变字典(NSMutableDictionary)

①初始化:不可变字典的初始化方法可变字典都可以使用

//创建空字典

NSMutableDictionary*dict=[NSMutableDictionary dictionary];

②不可变字典转换成可变字典

//---mutableCopy

NSMutableDictionary*dict1=[dict mutableCopy];

//---NSMutableDictionary dictionaryWithDictionary

NSMutableDictionary*dict2=[NSMutableDictionary dictionaryWithDictionary:dict];

③增加,删除,修改字典的对象

//增加对象

[dict setObject:@"Peter" forKey:@"name"];

//等价于

dict[@"name"]=@"Peter";

//name存在则修改它的值,不存在就添加一个新的对象

//删除对象

[dictremoveObjectForKey:@"name"];

//全删

[dict removeAllObjects];

//修改对象

[dict setObject:@"Peter" forKey:@"name"];

//等价于

dict[@"name"]=@"Peter";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值