OC——NSArray和NSMutableArray
/*---------------------NSArray---------------------------*/
//创建数组
NSArray *array1 = [NSArray arrayWithObject:@"1"];
NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
NSArray *array3 = [NSArray arrayWithArray:array2];
NSLog(@"array1 = %@",array1);
NSLog(@"array2 = %@",array2);
NSLog(@"array3 = %@",array3); //获取数组内数据个数
int count = [array2 count];
NSLog(@"array2 size is %d",count); //访问数组内的数据
NSString *str1 = [array2 objectAtIndex:0];
NSLog(@"array2 first content is %@",str1); //数组中插入数据 返回新的数组
NSArray *array4 = [array3 arrayByAddingObject:@"4"];
NSLog(@"array4 = %@",array4); //数组内的数据以制定字符连接
NSString *str2 = [array4 componentsJoinedByString:@","];
NSLog(@"str2 = %@",str2); //判断数组中是否包含某对象
BOOL b1 = [array4 containsObject:@"4"];
BOOL b2 = [array4 containsObject:@"5"];
NSLog(@"b1 = %d,b2 = %d",b1,b2); //取数组内制定对象的索引
int index = [array4 indexOfObject:@"4"];
NSLog(@"index = %d",index); NSString *str3 = [array4 lastObject];
NSLog(@"array4 last object is %@",str3); /*-----------------------可变数组NSMutableArray-----------------------------------------*/
//初始化数组 指定数组长度 但可变
NSMutableArray *mArray1 = [NSMutableArray arrayWithCapacity:5]; //向数组中添加元素
[mArray1 addObject:@"aaaa"];
[mArray1 addObject:@"cccc"];
NSLog(@"mArray1 = %@",mArray1); //向指定位置插入元素
[mArray1 insertObject:@"bbbb" atIndex:1];
[mArray1 insertObject:@"dddd" atIndex:[mArray1 count]];
[mArray1 insertObject:@"eeee" atIndex:[mArray1 count]];
NSLog(@"mArray1 = %@",mArray1); //移除元素
[mArray1 removeObject:@"eeee"];
NSLog(@"mArray1 = %@",mArray1);
[mArray1 removeObjectAtIndex:[mArray1 count]-1];
NSLog(@"mArray1 = %@",mArray1);
NSArray *array5 = [NSArray arrayWithObjects:@"bbbb",@"cccc", nil];
[mArray1 removeObjectsInArray:array5];
NSLog(@"mArray1 = %@",mArray1); //向数组内插入数组
NSMutableArray *mArray2 = [NSMutableArray arrayWithObjects:@"aaaa",@"aaaa", nil];
[mArray2 addObject:@"bbbb"];
NSLog(@"mArray2 = %@",mArray2);
[mArray2 addObjectsFromArray:array4];
NSLog(@"mArray2 = %@",mArray2); //替换元素
[mArray2 replaceObjectAtIndex:[mArray2 count]-1 withObject:@"5"];
NSLog(@"mArray2 = %@",mArray2); //遍历数组 常规方法:性能较低
NSArray *array6 = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e", nil];
int len = [array6 count];
for (int i=0; i<len; i++) {
NSString *value = [array6 objectAtIndex:i];
NSLog(@"array6 %d content is %@",i,value);
} //枚举遍历 相当于java中的增强for循环
for (NSString *string in array6) {
NSLog(@"array6 content is %@",string);
} NSLog(@"-----------------------"); //当不确定数组元素类型时
for(id string in array6){
NSLog(@"array6 content is %@",string);
}
OC——NSArray和NSMutableArray的更多相关文章
- 15.Object-C--浅谈Foundation框架OC数组NSArray与NSMutableArray
昨天总结了一下NSString与NSMutableString,今天我在这里总结一下NSArray与NSMutableArray. NSArray数组是:不可变数组. nil 是数组元素结束的标记.O ...
- iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)
iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的, 可以存放重复的元 ...
- OC NSArray 数组
# OC NSArray 数组 NSArray常用方法 获取数组中第一位元素 array.firstObject 获取数组中最后一个元素 array.lastObject 获取数组中指定索引下标的元素 ...
- NSArray 与 NSMutableArray 的排序
由于集合的使用过程中,经常需要对数组进行排序操作,此博客用于总结对在OC中对数组排序的几种方法 1.当数组中存放的是Foundation框架中提供的对象时,直接使用 compare:方法 如:NSSt ...
- IOS数组NSArray与NSMutableArray知识点
此文是对数组NSArray与NSMutableArray知识点的总结,主要是一些常见的操作,别外一些操作见其相应的文档,下面的代码部分还运用的第三方插件BlocksKit相结合: a:Foundati ...
- NSArray和NSMutableArray
//1. NSArray EOItems *eOItems = [[EOItems alloc] init]; eOItems.ID = [NSNumber numberWithInt:]; NSAr ...
- NSArray、NSMutableArray基本用法
NSArray.NSMutableArray基本用法 一.基本操作 初始化方法:1.init返回一个空数组 2.initWithArray从已有数组初始化 3.initWithContentsOfFi ...
- NSArray和NSMutableArray相互转换, 以及常用方法-备
有时候项目中NSArray和NSMutableArray需要相互转化,下面给出相关代码1.NSArray 1.1 转化:NSMutableArray 1 NSMutableArray *mutable ...
- NSArray、NSMutableArray和NSMutableDictionary的用法
转自:http://www.cnblogs.com/wangpei/admin/EditPosts.aspx?opt=1 NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域 ...
随机推荐
- NSData、NSString 、 NSFileManager
1 NSData和NSMutableData的基本使用 1.1 问题 NSData类是IOS提供的用于以二进制的形式操作文件数据的类,NSData有两个常用的属性length和bytes,leng ...
- ORA-00937:不是单组分组函数_Oracle
Demo: SELECT USER_ID, USER_NAME, USER_SEX, MAX(USER_AGE), SUM(USER_MONEY) AS USER_MONEY USER_TEL, US ...
- codeforces 336C Vasily the Bear and Sequence(贪心)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Vasily the Bear and Sequence Vasily the b ...
- Linux 入门命令
本文系转载:http://www.cnblogs.com/wwj9413/archive/2012/03/15/2638638.html#2929949 1.Linux进入与退出系统 进入Linux系 ...
- 安卓初步:通讯技术介绍&&安卓介绍
通讯技术: 1G 模拟制式 只能进行语音通话. 2G GSM, CDMA 收发短信和邮件. 2.5G GPRS, EDGE 访问wap网络数据.(图片, 壁纸, 文 ...
- 读取xml文件转成List<T>对象的两种方法(附源码)
读取xml文件转成List<T>对象的两种方法(附源码) 读取xml文件,是项目中经常要用到的,所以就总结一下,最近项目中用到的读取xml文件并且转成List<T>对象的方法, ...
- python运维开发(二十)----models操作、中间件、缓存、信号、分页
内容目录 select Form标签数据库操作 models操作F/Q models多对多表操作 Django中间件 缓存 信号 分页 select Form标签补充 在上一节中我们可以知道Form标 ...
- CodeForces 25E Test KMP
Description Sometimes it is hard to prepare tests for programming problems. Now Bob is preparing tes ...
- USB系列之三:从你的U盘里读出更多的内容
U盘是我们最常使用的一种USB设备,本文继续使用DOSUSB做驱动,试图以读取扇区的方式读取你的U盘.本文可能涉及的协议可能会比较多. 一.了解你的U盘 首先我们用上一篇文章介绍的程序usbvi ...
- Keil C51 Data Overlaying
一般的编译器将函数中的区域变数动态配置在stack,等函数结束空间就释放出来.因为8051 的内部记忆体很少,只有区区128 或256 bytes,而且stack 也是共用这块记忆体.为了节省stac ...