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)
相关文章推荐
- 语音信号分析
- java解析xml的几种方式
- 继电器的使用及其原理
- hdu 2711 Lost Cows
- 数据同步DataX
- 【程序员眼中的统计学(5)】排列组合:排序、排位、排
- PHP利用JPGRAPH画图不显示的解决
- 爱探险的小Z(单调队列)
- 【Python之旅】第七篇(一):再谈Python多线程
- 【Python之旅】第七篇(一):再谈Python多线程
- 路由器工作原理浅析
- Struts中ActionContext和ServletActionContext
- 一个示例让你明白适配器模式
- Tomcat配置文件之servlet.xml中选项介绍
- Android NFC MifareClassic详解
- Linux Vi编辑器的使用
- Nginx基础. HTTP多阶段处理大致分析
- 用反射将DataTable的一行DataRow构建为一个自定义类的对象 - 给对象的属性赋值
- js函数大全
- Toast 的使用1