数组集合与字典

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组集合与字典相关的知识,希望对你有一定的参考价值。

数组 NSArray 静态数组 (不可变)count 记录了当前元素里面的个数

objectAtIndex 对象的位置(索引)

        

        NSArray * [email protected][@"1",@"2",@"32"];

        NSLog(@"%ld",[array count]);

        //遍历数组

        for (int i=0; i<[array count]; i++) {

            

            NSLog(@"%@",[array objectAtIndex:i]);//objectAtIndex 对象在哪个位置

            //c普通方法

            NSLog(@"%@",array[i]);

        }

 

//快速遍历方式

        for (NSString * str in array) {

            NSLog(@"%@",str);

        }

 

动态数组

//arrayWithCapacity 指定空间大小
        NSMutableArray * arr=[NSMutableArray arrayWithCapacity:20];
        //增加成员 addObject:        拼接 stringWithFormat
        for (int i=0; i<10; i++) {
            [arr addObject:[NSString stringWithFormat:@"%d,%@",i+1,@"kjhkjh"]];
        }
        //插入成员insertObject: 成员 atIndex:索引
        [arr insertObject:@"a" atIndex:7];
        
        //删除成员
        [arr firstObject];//数组里面的第一个对象
       // [arr removeAllObjects];//删除所有对象
       // [arr removeLastObject];//删除最后的对象
       // [arr removeObject:@"2"];//删除选中的对象
       // [arr removeObjectAtIndex:2];//根据下标删除对象
        for (NSString * str in arr) {
            NSLog(@"%@",str);
        }

集合 NSSet

集合里面的内容是唯一(重复值只保存一个)的,无序的   先把集合的内容带入一个素组里  再遍历数组排序

NSSet * set = [NSSet setWithObjects:@"1",@"2",@"3",@"2", nil];
        NSArray * arr=[set allObjects];
        arr=[arr sortedArrayUsingSelector:@selector(compare:)];//排序
        for(NSString * str in arr)
        {
            NSLog(@"%@",str);
        }

动态集合 NSMutableSet

NSMutableSet * set=[NSMutableSet setWithCapacity:20];
        [set addObject:@"1"];
        [set addObject:@"2"];
        [set addObject:@"3"];
        [set addObject:@"1"];//内容重复了只显示一个
        [set removeObject:@"1"];//删除 1 的成员
        for(NSString * str in set)
        {
            NSLog(@"%@",str);
        }

 

字典 一个建对应一个值

字典里面有两个数组  一个是关键字(建)的数组 一个是值的数组 一般是通过关键字(建)遍历

NSDictionary * dict [email protected]{@"1":@"1111",@"2":@"2222"};
        NSArray * keys =[dict allKeys];//allKeys属性 返回所有的关键字
        for (NSString * str in keys) {
            //键的对象 objectForKey
            NSLog(@"key=%@,vallu=%@",str,[dict objectForKey:str]);
        }

第二种方法 类的行为 得到一个字典的对象 

dictionaryWithObjectsAndKeys 一个对象对应一个建的创建
NSDictionary * dict=[NSDictionary dictionaryWithObjectsAndKeys:@"张三",@"1",@"李四",@"2",nil];
        NSArray * keys =[dict allKeys];//allKeys属性 返回所有的关键字
        for (NSString * str in keys) {
            //键的对象 objectForKey
            NSLog(@"key=%@,vallu=%@",str,[dict objectForKey:str]);
        }

第三种方法

NSDictionary * dict =[[NSDictionary alloc]initWithObjectsAndKeys:@"张三",@"1",@"李四",@"2", nil];
        NSArray * keys =[dict allKeys];//allKeys属性 返回所有的关键字
        for (NSString * str in keys) {
            //键的对象 objectForKey
            NSLog(@"key=%@,vallu=%@",str,[dict objectForKey:str]);
        }

动态字典 NSMutableDictionary

NSMutableDictionary * dict=[[NSMutableDictionary alloc]initWithCapacity:20];
        
        [dict setObject:@"张三" forKey:@"1"];
        [dict setObject:@"张5" forKey:@"1"];
        [dict setObject:@"李四" forKey:@"2"];
    
        NSArray * keys =[dict allKeys];
        for (NSString * str in keys) {
            //键的对象 objectForKey
            NSLog(@"key=%@,vallu=%@",str,[dict objectForKey:str]);
        }

 

以上是关于数组集合与字典的主要内容,如果未能解决你的问题,请参考以下文章

OC_数组与字典

[Language]Python映像与集合--字典

Python之列表元组字典集合及字符串的详细使用

OC - 数组字典集合

python字典和集合(数组)

子集生成与字典序