Foundation框架--NSMutableArray的使用


一、NSMutableArray介绍

NSMutableArray是NSArray的子类

NSArray是不可变的, 一旦初始化完毕后, 它里面的内容就永远是固定的, 不能删除里面的元素, 也不能再往里面添加元素。

NSMutableArray是可变的, 随时可以往里面添加\更改\删除元素。


二、NSMutableArray基本使用方法

1、创建数组


(1)空数组

NSMutableArray *arr1 = [NSMutableArray array];

NSLog(@"arr1 = %@",arr1);

打印结果:
arr1 = ( )


(2)创建的时候初始化一个元素

NSMutableArray *arr2 = [NSMutableArray arrayWithObject:@"one"];

NSLog(@"arr2 = %@",arr2);

打印结果:
arr2 = (one)


(3)创建的时候初始化多个元素

NSMutableArray *arr3 = [NSMutableArray arrayWithObjects:@"one",@"two",@1,@3, nil];

NSLog(@"arr3 = %@",arr3);   

打印结果:
arr3 = (one,two,1,3)

(4)创建一个数组,并且指定长度

NSMutableArray *arr4 = [NSMutableArray arrayWithCapacity:3];

NSLog(@"arr4 = %@",arr4);

//打印地址
NSLog(@"arr4 = %p",arr4);//0x100603850

打印结果:
arr4 = ()
arr4 = 0x100202260


2、基本用法
(1)增加元素

[arr4 addObject:@1];
[arr4 addObject:@"five"];

NSLog(@"arr4 = %@",arr4);

//打印地址
NSLog(@"arr4 = %p",arr4);//0x100603850  //地址不变

打印结果:
arr4 = ( )

arr4 = 0x100201300

arr4 = (1,five)

arr4 = 0x100201300


(2)插入到元素的指定位置

NSMutableArray *arr5 = [NSMutableArray arrayWithObjects:@"123",@321,@"hai",@"ma",@888, nil];

NSLog(@"arr5 = %@",arr5);

//在下标为2的位置插入元素        
[arr5 insertObject:@"Hello" atIndex:2];

NSLog(@"arr5 = %@",arr5);

打印结果:
arr5 = (123,321,hai,ma,888)

arr5 = (123,321,Hello,hai,ma,888)


(3)删除元素

//根据对象内容删除
[arr5 removeObject:@321];
NSLog(@"arr5 = %@",arr5);

//根据位置删除
[arr5 removeObjectAtIndex:0];
NSLog(@"arr5 = %@",arr5);


//全部删除
[arr5 removeAllObjects];
NSLog(@"arr5 = %@",arr5);

打印结果:
arr5 = (123,Hello,hai,ma,888)

arr5 = (Hello,hai,ma,888)

arr5 = ( )


(4)根据下标修改元素

NSMutableArray *arr6 = [NSMutableArray arrayWithObjects:@"123",@321,@"hai",@"ma",@888, nil];

NSLog(@"arr6 = %@",arr6);

[arr6 replaceObjectAtIndex:4 withObject:@666];

NSLog(@"arr6 = %@",arr6);

//更简便的写法
arr6[0] = @999;

NSLog(@"arr6 = %@",arr6);

打印结果:
arr6 = (123,321,hai,ma,888)

arr6 = (123,321,hai,ma,666)

arr6 = (999,321,hai,ma,666)


(5)查找元素

//返回值BOOL类型
BOOL isSeach = [arr6 containsObject:@999];
if (isSeach) {
        NSLog(@"查找到了");
        }else{
        NSLog(@"没有查找到");
        }

打印结果:
查找到了


(6)交换元素

NSMutableArray *arr7 = [NSMutableArray arrayWithObjects:@1,@2,@3,@4,@5,nil];

NSLog(@"arr7 = %@",arr7);

//交换下标为0和下标1的元素
[arr7 exchangeObjectAtIndex:0 withObjectAtIndex:1];

NSLog(@"arr7 = %@",arr7);

打印结果:
arr7 = (1,2,3,4,5)

arr7 = (2,1,3,4,5)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值