objective-c - 基础篇 - NSDirctionary与NSMutableDirctionary

注意点:字典是无序的,采取的是 键值 的形式,类似于JAVA中的map

一、NSDirctionary类

#import <Foundation/Foundation.h>

int main(int argc, const charchar * argv[]){

@autoreleasepool{

NSArray * array1 = [NSArray arrayWithObjects:@"zhangsan", @"china", nil];

NSArray * array2 = [NSArray arrayWithObjects:@"wangwu", @"japan", nil];

//1 -- 创建字典 -- initWithObjectAndKeys方法

NSDictionary * dict = [NSDictionary alloc]initWithObjectAndKey:array1,@"zhang", array2, @"li" ,nil];

NSLog(@"%@", dict);

//2 -- 存放一个元素 -- dictionaryWithObject方法

NSDictionary * dict2 = [NSDicationary dictionaryWithObject:array1 forkey:@"zhang"];

//3 -- 获取所有的key -- allKey方法

NSArray * allkeys = [dict allkeys];

//4 -- 获取所有的value -- allvalues方法

NSArray * allvalues = [dict allValues];

//5 -- 优化的语法

NSDictionary * dict5 = @{@"zhangsan":array1, @"lisi",array2};

}

}

二、NSMutableDirctionay类

#import <Foundation/Foundation.h>

int main(int argc, const charchar * argv[]){

//1 -- 创建字典,开辟空间

NSMutableDictionary * md1 = [[NSMutableDictionary alloc]initWithCapacity:3];

NSArray *  array1 = [[NSArray alloc]initWithObject:@"zhangsan",@"lisi", nil];

//2 -- 添加元素 -- addEtriesFromDictionary方法

[md1 setObject: array1 forkey:@"zhang"];

NSMutableDictionary * md2 = [[NSMutableDictionary alloc]initWithCapacity:3];

[md2 addEtriesFromDictionary:md1];

//3 -- 删除元素 -- removeObjectForKey/removeAllObjects/removeObjectsForKeys方法

[md1 removeObjectForKey:@"zhang"]; //以key删除

[md1 remvoreAllObjects];//删除所有元素

[md1 removeObjectsForKeys:array1];//以value删除

//4 -- 遍历字典

//快速遍历

for(NSString *key in md1){

NSArray * values = [md1 objectForKey:key];

for(NSString * v in values){

MSLog(@"%@", v);

}

}

//普通遍历

NSArray * allkey = [md1 allkeys];

for(int i =0 ; i < allkey.count; i++){

NSArray * value = [md1 objectForKey:all

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值