object-c 之 NSMutableArray

//1 创建指定容量大小的可变数组对象  开始时候申请的内存大小 可以根据以后情况进行扩展
        NSMutableArray *array = [[NSMutableArray alloc]initWithCapacity:20];
 //2 添加数组元素
        [array addObject:@"one"];
        NSLog(@"array = %@",array);
      //3 在指定下标处 插入元素
        [array insertObject:@"two" atIndex:1];
        NSLog(@"array  =%@",array);
        //4 添加传入数组的所有元素到数组中
        [array addObjectsFromArray:array];
         NSLog(@"array = %@",array);
        //5 删除最后一个元素
        [array removeLastObject];
        NSLog(@"array = %@",array);
        //6  删除指定位置
        [array removeObjectAtIndex:0];
         NSLog(@"array = %@",array);
        NSMutableArray * array1 = [NSMutableArray arrayWithObjects:@"one",@"two",@"three",@"four",@"five",@"one", nil];
        //7 删除数组中所有出现的目标元素
        [array1 removeObject:@"one"];
        NSLog(@"array1 = %@",array1);
       // 8  删除某个范围内 目标元素
        [array1 removeObject:@"one" inRange:NSMakeRange(4, 2)];
        NSLog(@"array1 = %@",array1);
        //9  删除数组中某个范围
        [array1 removeObjectsInRange:NSMakeRange(0, 3)];
        NSLog(@"array1 = %@",array1);
        //10 删除 传入输出数组在数组中的元素
        [array1 removeObjectsInArray:array];
        NSLog(@"array1 = %@",array1);
        //11 删除所有元素
        [array1 removeAllObjects];
        NSLog(@"array1 = %@",array1);
        //12 修改或重置数组
        [array setArray:array];
        NSLog(@"array = %@",array);
        //13 交换指定位置的元素
        [array1 exchangeObjectAtIndex:0 withObjectAtIndex:1];
        NSLog(@"array1 = %@",array1);
        //一个数组替换一个范围
        [array1 replaceObjectsInRange:NSMakeRange(1, 2) withObjectsFromArray:@[@"ni",@"hao"]];
        NSLog(@"array1 = %@",array1);
        //使用传入元素 替换某个下标的元素
       [array1 replaceObjectAtIndex:1 withObject:@"one"];
        NSLog(@"array1 = %@",array1);
        
        //下标集合
        NSMutableIndexSet *indexSet = [NSMutableIndexSet indexSetWithIndex:1];
        [indexSet addIndex:3];
        [indexSet addIndex:5];
        
        [array1 insertObjects:@[@"1",@"3",@"5"] atIndexes:indexSet];
        NSLog(@"array1 = %@",array1);
        
        [array1 removeObjectsAtIndexes:indexSet];
        NSLog(@"array1 = %@",array1);
        

注意:可变数组在for - in循环是不可以改变器内部元素,如果要改变,用枚举器

//将sectionTitles中数字字符串换成汉字字符串,按顺序

NSDictionary *regionDicts = @{@"19764":@"美洲",@"20954":@"韩日",@"20691":@"香港",@"21062":@"台湾",@"19774":@"中国",@"20681":@"欧洲"};
        NSMutableArray* sectionTitles = [NSMutableArray arrayWithObjects:@"20954",@"19764",@"20681",@"20691",@"21062",@"19774", nil];
        NSArray *regionAllKey = [regionDicts allKeys];
        
        for (NSString *regionKey in regionAllKey) {
            
            
            [sectionTitles enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
                if ([obj isEqualToString:regionKey]) {
                    *stop = YES;
                    if (*stop) {
                        [sectionTitles replaceObjectAtIndex:idx withObject:[regionDicts objectForKey:regionKey]];
                    }
               }
        }
        NSLog(@"调换后的sectionTitles = %@",sectionTitles);   
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,776评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 4,017评论 0 11
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,704评论 9 118
  • 如果有人问,你知道周星驰吗? 他一定会收到一个突破天际的白眼,老子是星爷的骨灰级老粉,你居然问这种没水准的问题! ...
    山僧扫雨阅读 1,412评论 8 33
  • 自己认为自己性格太软弱,只会选择承受,或许与从小的家庭和教育环境有关,也不可能天生就比较怂,基因里的东西改变起...
    deedee阅读 408评论 0 1

友情链接更多精彩内容