码迷,mamicode.com
首页 > 编程语言 > 详细

数组、集合与字典

时间:2017-10-23 18:50:50      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:保存   san   字典   compare   拼接   cti   ++   selector   快速   

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

objectAtIndex 对象的位置(索引)

        

        NSArray * array=@[@"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 =@{@"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]);
        }

 

数组、集合与字典

标签:保存   san   字典   compare   拼接   cti   ++   selector   快速   

原文地址:http://www.cnblogs.com/linzewei/p/7717268.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!