您的位置:首页 > 其它

Foundation框架--NSMutableArray的使用

2015-10-15 19:35 393 查看

一、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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: