您的位置:首页 > 移动开发 > Objective-C

objective-c - 基础篇 - NSDirctionary与NSMutableDirctionary

2016-03-26 22:08 435 查看
注意点:字典是无序的,采取的是 键值 的形式,类似于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

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: