字典
一、不可变字典
1.初始化(唯一不同:先value 后key)
initWithObjectsAndKeys:
dictionaryWithObjectsAndKeys:
2.字典的键值对数
count
3.取值
objectForKey:
4.取得所有的 key 和 value
allKeys
allValues
二、可变字典
1.初始化
initWithCapacity:1
dictionaryWithObjectsAndKeys:
2.给字典添加键值对、对现有键值对更改
setObject: forKey:
3.对字典的某个key移除
removeObjectForKey:
4.遍历字典
//字典是无序的,也没有下标
// 先把所有的key存入数组
//对字典遍历其实就是对 key数组的遍历
NSArray *keys = [mutableDicallKeys];
for (int i =0; i < [keyscount]; i++) {
NSString *key = [keysobjectAtIndex:i];
NSString * value = [mutableDicobjectForKey:key];
NSLog(@"key: %@, value: %@", key, value);
}
5.快速取值 (有点像数组取值)
NSString *valuess = mutableDic[@"yaojie"];
NSLog(@"%@", valuess);
/********** 字典 *****************/
// 不可变字典
// 字典的初始化
NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"value", @"key", nil];
NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"value", @"key", nil];
// 字典的键值对个数
NSUInteger count = [dic count];
// 取得存储的一个值, 字典通过key取相应的值
NSString *value = [dic objectForKey:@"key"];
// 获得字典所有的key
NSArray *allKeys = [dic allKeys];
// 获得字典所有的value
NSArray *values = [dic allValues];
// 一个字典里面,一个key只能对应一个value 一个value可以有多个key对应
// 也就是说, key不能重复, value可以重复
// 可变字典
// 初始化
NSMutableDictionary *mutDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"value", @"key", nil];
NSMutableDictionary *mutDic1 = [NSMutableDictionary dictionaryWithCapacity:1];
NSMutableDictionary *mutDic2 = [[NSMutableDictionary alloc] initWithCapacity:1];
NSMutableDictionary *mutDic3 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"value", @"key", nil];
// 添加一个键值对 或者 对现有的键值对进行修改
[mutDic setObject:<#(id)#> forKey:<#(id<NSCopying>)#>];
// 对字典某个key进行移除
[mutDic removeObjectForKey:<#(id)#>];
// 遍历字典
// 字典是无序的,没有下标,要想遍历字典就要 先把所有key存入数组
// 对字典遍历 其实就是对 key数组的遍历
NSArray *keys = [mutDic allKeys];
for (int i = 0; i < [keys count]; i++) {
NSString *key = [keys objectAtIndex:i];
NSString *value = [mutDic objectForKey:key];
NSLog(@"key: %@, value: %@", key, value);
}
// 快速取值
NSString *valuess = mutDic[@"key"];
集合
************** 集合 *****************
NSSet NSMutableSet
特点:1.不重复 2.无序 3.存储元素必须是对象类型
// 如果有重复的,也只会显示一个
NSSet *set = [[NSSetalloc]initWithObjects:@"5",@"8",@"2",@"4", @"6",@"6", nil];
NSLog(@"%@", set);
//统计集合元素个数
NSUInteger setCount = [setcount];
NSLog(@"%ld", setCount);
// 在集合中取值
NSString *setObject = [setanyObject];
NSLog(@"%@", setObject);
//集合中是否包含某个对象
BOOL resultSet = [setcontainsObject:@"0"];
NSLog(@"是否包含: %d", resultSet);
二、 可变集合
// NSMutableSet *mutableSet = [[NSMutableSet alloc] initWithCapacity:1];
// NSMutableSet *mutableSet = [[NSMutableSet alloc] initWithObjects:@"22", @"222", nil];
NSMutableSet *mutableSet = [NSMutableSetsetWithCapacity:1];
//给可变集合增加一个元素
[mutableSetaddObject:@"2222"];
NSLog(@"%@", mutableSet);
// 移除
[mutableSetremoveObject:@"22"];
NSLog(@"%@", mutableSet);