用字典能有什么好处?
字典是个大容器,它能够储存多个数据
用字典存储的数据具有一一对应的关系(使用key来标识value)
字典中一对键值对(key-value)叫做字典中的一个元素,也叫一个条目,只要是对象就可以,不限制类型
字典是无序的
字典中的key是唯一的,一个key只能对应一个value,一个value可以对应多个key
创建字典对象:
1.便利构造器(+号方法):
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"qinfen", @"name", @20, @"height", @12, @"age", nil];
dictionaryWithObjectsAndKeys:元素与元素之间用逗号分隔, nil 作为字典结束的标志
2.初始化方法(-号方法):
nitWithObjectsAndKeys:@"qinfen", @"name", @20, @"height", @12, @"age", nil];
initWithObjectsAndKeys:元素与元素之间用逗号分隔, nil 作为字典结束的标志
输出字典时用大括号括着元素显示,如: {
age = 12;
height = 20;
name = qinfen;
}
获取字典元素个数
count方法
NSLog(@"%lu", [dic1 count]);
获取所有的key
allkeys方法
NSArray *key = [dic allKeys]; NSLog(@"%@", key);
输出显示是每个key
根据key获取对应的value
objectForKey:方法
NSString *value = [dic objectForKey:@"name"]; NSLog(@"%@", value);
输出显示的是@"name" 这个key对应的值的内容
字典快速遍历:
快速遍历对于数组来说,遍历得到的是数组中的每一个元素
而对于字典来说,遍历字典得到的是每个key,不是value,也不是key和value,但然后可以通过key获取value
for (NSString *key in dic) { //检索到key之后,通过objectForKey:获取对应的value NSLog(@"%@", [dic objectForKey:key]); }
以上是字典中常用的方法
可变字典NSMutableDictionary
可变字典比字典多了增加,删除,修改的方法
创建可变字典对象
NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"xiaoguang", @"guanggun1", @"xiaomeng", @"guanggun2", @"xiashuai", @"guanggun3", nil];
dictionaryWithObjectsAndKeys:方法
删除元素
[dic removeObjectForKey:@"guanggun1"];
removeObjectForKey:方法,通过查找key,将key和key所对应的value一起删除,即删除了一对键值对
添加元素
[dic setObject:@"chengjie" forKey:@"guanggun1"];
setObject: value元素 forKey: key元素 方法
修改元素
[dic setObject:@"xiaocui" forKey:@"guanggun1"]
setObject: value元素 forKey: key元素 方法 工作原理:
先根据指定的key查找字典中是否存在相同的key,(查找字典中的是否存在指定的key) 如果存在,则修改key对应的value,如果不存在,在字典中添加一个元素,key-value键值对
集合
创建集合对象
便利构造器
NSSet *set1 = [NSSet setWithObjects:@"1", @"2", @"3", @"4", @"5", nil];
setWithObjects:方法
初始化方法
NSSet *set2 = [[NSSet alloc] initWithObjects:@"1", @"2", @"3", @"4", @"5", @"1", @"2", @"3", @"4", @"5", nil];
initWithObjects:方法
获取集合元素个数
count方法
NSLog(@"%lu", [set2 count]);
获取集合中的某个元素
NSString *str1 = [set2 anyObject];
anyObject方法
判断集合中是否包含某个元素
BOOL isExist = [set2 containsObject:@"3"];
containsObject:方法 参数为要查找得元素,返回值为布尔值
可变集合
添加元素
[set3 addObject:@"6"];
addObject:方法
移除元素
[set3 removeObject:@"5"];
removeObject:方法
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。