OC--可变数组

NSMutableArray (可变数组)继承NSArry(不可变数组)

1.创建对象的方式
1.1初始化方式
    NSMutableArray *array = [[NSMutableArray alloc]initWithCapacity:10];
1.2遍历构造器
    NSMutableArray *array1 =[NSMutableArray arrayWithCapacity:10];
1.3字面量
    NSMutableArray *array2 =[@[@"aa",@"bb"]mutableCopy];

2.添加元素

2.1直接添加元素
   [array addObject:@"zhangsan"];
    NSLog(@"array = %@",array);// array = zhangsan

   [array addObject:@"wangwu"];
    NSLog(@"array = %@",array);
    /*array = (
     zhangsan,
     wangwu
     )
     */
2.2指定位置交通添加
     //在下标是1的地方添加zhaoliu
    [array insertObject:@"zhaoliu" atIndex:1];
    NSLog(@"array = %@",array);
    /*数组是从0开始算起
     array = (
     zhangsan,
     zhaoliu,
     wangwu
     )
     */
   
   //在下标是3的地方添加zhangsan
   [array insertObject:@"zhangsan" atIndex:3];
    NSLog(@"array = %@",array);
    /*(
     zhangsan,
     zhaoliu,
     wangwu,
     zhangsan
     )*/

3.删除

3.1移除所有zhangsan的元素
    [array removeObject:@"zhangsan"];
    NSLog(@"array = %@",array);
    /*(
     zhaoliu,
     wangwu
     )*/
3.2移除下标是1的元素
    [array removeObjectAtIndex:1];
    NSLog(@"array = %@",array);
    /*(
     zhaoliu
     )*/
3.3移除最后一个元素
    [array removeLastObject];
3.4//移除所有元素(删除后数组为空)
    [array removeAllObjects];
给数组添加元素
    [array addObject:@"zhangsan"];
    [array addObject:@"lisi"];
    [array addObject:@"wangwu"];
    [array addObject:@"zhangsan"];
    NSLog(@"array = %@",array);
    /*array = (
     zhangsan,
     lisi,
     wangwu,
     zhangsan
     )*/
3.4移除某一个范围
    [array removeObjectsInRange:NSMakeRange(1,3)];
    NSLog(@"array = %@",array);
    /*array = (
     zhangsan
     )*/
    //移除某一个范围后面的元素
    //[array removeObject:@"zhangsan"inRange:NSMakeRange(1, 3)];
给数组添加元素
    [array addObject:@"lisi"];
    [array addObject:@"wangwu"];
    [array addObject:@"zhaoliu"];
    NSLog(@"array = %@",array);
    /*array = (
     zhangsan,
     lisi,
     wangwu,
     zhaoliu
     )*/
4.交换指定位置上的两个元素
    [array exchangeObjectAtIndex:0 withObjectAtIndex:2];
    NSLog(@"array1 = %@",array);
    /* (
     wangwu,
     lisi,
     zhangsan,
     zhaoliu
     )*/
5.替换数组中的一个元素
    [array replaceObjectAtIndex:3 withObject:@"xueren"];
    NSLog(@"array2 = %@",array);
    /* (
     wangwu,
     lisi,
     zhangsan,
     xueren
     )*/
For循环里面不允许去更改数组的长度,但是移除最后一个元素不影响数组的运行
    //如果删除lisi 数组的长度就会改变从而崩溃
    for (NSString *str in array) {
        if ([str isEqualToString:@"xueren"]) {
            [array removeObject:@"xueren"];
        
        }
    }
    NSLog(@"%@",array);
        /*(
     lisi,
     zhaoliu
     )*/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 昨天做到的是有一个需求,就是,如图: 在请求数据下来之后,顶部的title不会展示“热门”这个菜单的内容,但是内容...
    一米押金阅读 371评论 0 0
  • 简介 这是一个Swift语言教程,基于最新的iOS 9,Xcode 7.3和Swift 2.2,会为你介绍Swif...
    张嘉夫阅读 3,336评论 0 50
  • 由于最近都在freecodecamp上刷代码,运用了很多JavaScript数组的方法,因此做了一份关于JavaS...
    2bc5f46e925b阅读 2,030评论 0 16
  • 第20天·21天OH卡美颜瘦身课 #玩卡不卡·每日一抽# 每一位都可以通过这张卡片觉察自己: 1、直觉他叫什么名字...
    只皇皇阅读 192评论 0 0
  • 使用 U盘安装,一般都会重装好几次。将电脑的 U盘启动移动到启动项最前面,安装后只用拔掉 U盘就不会再从 U盘启动...
    MoonBall阅读 1,970评论 0 0