Snail—OC学习之可变数组NSMutableArray

可变数组NSMutableArray 继承于 NSArray  NSArray的所有方法都适用于可变数组

下面是可变数组的一些初始化方法

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        //可变数组继承于不可变数组
        //空的可变数组
        NSMutableArray * array = [[NSMutableArray alloc] init];
        //传入0 就是新建了一个空数组
        NSMutableArray * array2 = [[NSMutableArray alloc] initWithCapacity:0];
        //以一个数组来创建新的数组
        NSMutableArray * array3 = [[NSMutableArray alloc] initWithArray:array];
        
        //初始化添加对象 nil是占位的
        NSMutableArray * array4 = [[NSMutableArray alloc] initWithObjects:@"dsa",@"sd",nil];
        
        //简易初始化方法只适用于不可变数组
        //NSMutableArray * array5 = @[@"dsa",@"sd"];
        
        //类方法形式创建数组
        NSMutableArray * arr1 = [NSMutableArray array];
        NSMutableArray * arr2 = [NSMutableArray arrayWithArray:array];
        //一个长度为0的可变数组
        NSMutableArray * arr3 = [NSMutableArray arrayWithCapacity:0];
        NSMutableArray * arr4 = [NSMutableArray arrayWithObjects:@"sda",@"asd",nil];
        
    }
    return 0;
}

跟可变数组相似的原理,可变数组可以对其里面的元素进行相应的方法

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        NSMutableArray * array = [[NSMutableArray alloc] init];
        
        //增加一个元素
        [array addObject:@"one1"];
        NSArray * array2 = @[@"sda",@"sad",@"one"];
        //添加多个元素
        [array addObjectsFromArray:array2];
        
        //删除所有跟参数相同的对象
        [array removeObject:@"one"];
        //删除指定位置的元素
        [array removeObjectAtIndex:0];
        //删除所有元素
        //如果是空数组 调用下面这个方法数据会报错
        [array removeAllObjects];
        
        //删除最后一个元素,但是空数组不会报错
        [array removeLastObject];
        //删除多个元素
        [array removeObjectsInArray:array2];
        
        //从下标开始,删除几个元素  从下标0开始删除 要删除两个
        NSRange range = NSMakeRange(0, 2);
        [array removeObjectsInRange:range];
        
    }
    return 0;
}

可变数组的一些关于元素的方法

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        NSMutableArray * array = [[NSMutableArray alloc] init];
       
        //重置数组 参数可以是任何数组
        [array setArray:@[@"Snail",@"Daodao",@"Jian"]];
        
        //替换 将下标为1的元素替换成@"jianjian"
        [array replaceObjectAtIndex:1 withObject:@"Jian"];
        
        //交换 将下标为1的元素 跟下标为2的元素交换
        [array exchangeObjectAtIndex:1 withObjectAtIndex:2];
        
        //插入 下标2将会新插入一个元素 其他元素顺序往后移动
        [array insertObject:@"j" atIndex:2];
        
    }
    return 0;
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值