字典与集合类总结(最强王者组:王振波,胡鹏飞,孙晓萌,张西辉)

来源:互联网 发布:金蝶软件kis 编辑:程序博客网 时间:2024/05/16 15:10
    字典存在的价值:1.大容器,用来存储多个数据 2.用来存储的数据具有一一对应的关系,(使用key来标识value)  3.对于字典的一对键值对(key-value)叫做字典中的一个元素,也叫一个条目,只要使对象就可以,不限制类型  4.字典是无序的, 5.字典中的key是唯一的,一个key只能对应一个value ,一个value可以对应多个key一.NSDictionary类的一些方法1.创建字典对象        (1).便利构造器        NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"zhiyuan",@"name",@20,@"shenggao",@26,@"age" ,nil];        NSLog(@"%@",dic);        (2).初始化方法        NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"zhiyuan",@"name",@20,@"shenggao",@26,@"age" , nil];        NSLog(@"%@",dic1);2.求字典元素个数        NSUInteger count = [dic1 count];        NSLog(@"%lu",count);3.获取所有的key        NSArray *keys = [dic allKeys];        NSLog(@"%@",keys);4.根据key获取对应的value        NSString *value = [dic objectForKey:@"name"];        NSLog(@"%@",value);        NSNumber * number = [dic objectForKey:@"age"];        NSLog(@"%@",number);5.字典快速遍历        //快速遍历:对于数组来说,遍历到的是数组中的每一个元素,对于字典来说,遍历得到的是字典的key,然后通过key获取value        for ( NSString *key  in dic) {            //检索到key之后,通过objectForKey:获取key对应的value            NSLog(@"%@",[dic objectForKey:key]);        }二.  NSMutableDictionary 类的一些方法   对于可变字典来说,比不可变字典多了增加,删除,修改操作1.创建对象        NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"guang",@"gun",@"xiao",@"guan",@"shuai",@"gn", nil];        NSLog(@"%@",dic);2.求字典的元素个数        NSLog(@"%lu",[dic count]);3.删除元素        [dic removeObjectForKey:@"gun"];        NSLog(@"%@",dic);        [dic removeAllObjects];        NSLog(@"%@",dic);4.添加元素        [dic setObject:@"xiaocui" forKey:@"gun"];        NSLog(@"%@",dic);        5.修改key对应的value        [dic setObject:@"chengjie" forKey:@"gun"];        NSLog(@"%@",dic);//setObject:forKey:工作原理:先根据指定的key查找字典中是否存在相同的key.如果存在,则修改key对应的value,如果不存在,在字典中添加一个元素,key-value键值对.三.NSSet 类的一些方法1.创建集合对象        //便利构造器        NSSet *set1 = [NSSet setWithObjects:@"9",@"9",@"6",@"5", nil];        NSLog(@"%@",set1);        //初始化方法        NSSet *set2 = [[NSSet alloc] initWithObjects:@"1",@"2",@"6",@"5", nil];        NSLog(@"%@",set2);2.获取元素个数        NSLog(@"%lu",[set1 count]);3.获取集合中的某个元素        NSString *str =[set1 anyObject];        NSLog(@"%@",str);        NSString *str1 =[set1 anyObject];        NSLog(@"%@",str1);        NSString *str2 =[set1 anyObject];        NSLog(@"%@",str2);        NSString *str3 =[set1 anyObject];        NSLog(@"%@",str3);4.判断集合中是否包含某个元素        BOOL isCon = [set1 containsObject:@"10"];        NSLog(@"%d",isCon);    }四. NSMutableSet类的一些方法     //可变集合    NSMutableSet *set3 = [NSMutableSet setWithObjects:@"1",@"2",@"6",@"5", nil];1.添加元素    [set3 addObject:@"9"];    NSLog(@"%@",set3);2.移除元素    [set3 removeObject:@"2"];    NSLog(@"%@",set3);

0 0