OC中的数组操作2
2015-12-16 15:07
204 查看
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//可变数组 NSMutableArray ,它是NSArray的子类
//初始化方法
//初始化一个空的可变数组
NSMutableArray *mArray1=[NSMutableArray array];
//创建一个里面只有一个元素的可变数组
NSMutableArray *mArray2=[NSMutableArray arrayWithObject:@"1"];
//创建一个里面有多个元素的可变数组
NSMutableArray *mArray3=[NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4", nil];
//根据另一个数组产生新的数组
NSMutableArray *mArray4=[NSMutableArray arrayWithArray:mArray3];
//可变数组独有的初始化方法
//初始化数组的时候大小是10
NSMutableArray *mArray5=[NSMutableArray arrayWithCapacity:10];
//数组的容量也只是数组最终大小的一个参考,容量数值之所以存在,是为了cocoa能够对代码进行一些优化,cocoa即不会对对象预写入数组,也不会用读容量来限制数组的大小。
//读取本地文件的数组
NSMutableArray *mArray6=[NSMutableArray arrayWithContentsOfFile:@""];
//从网络读取数组
//NSMutableArray *mArray7=[NSMutableArray arrayWithContentsOfURL:@" "];
//增加
//在数组的末尾增加一个元素
[mArray3 addObject:@"5"];
//在数组指定位置插入元素
[mArray3 insertObject:@"Rick" atIndex:2];
//替换:将数组指定位置上的元素替换成客户想要的元素
//交换:将数组指定的位置的元素跟想要换的元素交换位置
//删除
//删除指定元素
[mArray3 removeObject:@"1"];
//删除指定位置上的原素
[mArray3 removeObjectAtIndex:0];
//删除数组中最后的一个元素
[mArray3 removeLastObject];
//删除数组中所有的元素
[mArray3 removeLastObject];
for (int i=0; i<mArray3.count; i++) {
NSLog(@"%@",mArray3);
}
//
//数组的遍历
NSMutableArray *marray=[NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5", nil];
//快速枚举
for (NSString *element in marray) {
NSLog(@"%@",element);
}
//使用系统提供的枚举类型
NSEnumerator *enumerator=[marray objectEnumerator];
//得到一个枚举器以后我们就可以通过 while 循环来遍历数组元素,而不用管索引问题,每次循环可以通过枚举器的 nextObject 方法得到下一个数组里的对象,直到 nextObject 为 nil 时,循环结束,这也是为什么数组元素中不要出现 nil 的原因
id ele;
while (ele=[enumerator nextObject]) {
//使用枚举器遍历集合
NSLog(@"%@",ele);
}
/*
注意:
我们使用枚举器遍历数组元素期间,不要添加或者删除数组元素,否则运行的时候程序会奔溃
因为通过objectEnumerator的枚举器的时候数组元素的个数已经记录再枚举器里了,在遍历的时候,如果添加或者删除数组元素的话,数组元素的个数就前后不一致而出现异常
*/
}
return 0;
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
//可变数组 NSMutableArray ,它是NSArray的子类
//初始化方法
//初始化一个空的可变数组
NSMutableArray *mArray1=[NSMutableArray array];
//创建一个里面只有一个元素的可变数组
NSMutableArray *mArray2=[NSMutableArray arrayWithObject:@"1"];
//创建一个里面有多个元素的可变数组
NSMutableArray *mArray3=[NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4", nil];
//根据另一个数组产生新的数组
NSMutableArray *mArray4=[NSMutableArray arrayWithArray:mArray3];
//可变数组独有的初始化方法
//初始化数组的时候大小是10
NSMutableArray *mArray5=[NSMutableArray arrayWithCapacity:10];
//数组的容量也只是数组最终大小的一个参考,容量数值之所以存在,是为了cocoa能够对代码进行一些优化,cocoa即不会对对象预写入数组,也不会用读容量来限制数组的大小。
//读取本地文件的数组
NSMutableArray *mArray6=[NSMutableArray arrayWithContentsOfFile:@""];
//从网络读取数组
//NSMutableArray *mArray7=[NSMutableArray arrayWithContentsOfURL:@" "];
//增加
//在数组的末尾增加一个元素
[mArray3 addObject:@"5"];
//在数组指定位置插入元素
[mArray3 insertObject:@"Rick" atIndex:2];
//替换:将数组指定位置上的元素替换成客户想要的元素
//交换:将数组指定的位置的元素跟想要换的元素交换位置
//删除
//删除指定元素
[mArray3 removeObject:@"1"];
//删除指定位置上的原素
[mArray3 removeObjectAtIndex:0];
//删除数组中最后的一个元素
[mArray3 removeLastObject];
//删除数组中所有的元素
[mArray3 removeLastObject];
for (int i=0; i<mArray3.count; i++) {
NSLog(@"%@",mArray3);
}
//
//数组的遍历
NSMutableArray *marray=[NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5", nil];
//快速枚举
for (NSString *element in marray) {
NSLog(@"%@",element);
}
//使用系统提供的枚举类型
NSEnumerator *enumerator=[marray objectEnumerator];
//得到一个枚举器以后我们就可以通过 while 循环来遍历数组元素,而不用管索引问题,每次循环可以通过枚举器的 nextObject 方法得到下一个数组里的对象,直到 nextObject 为 nil 时,循环结束,这也是为什么数组元素中不要出现 nil 的原因
id ele;
while (ele=[enumerator nextObject]) {
//使用枚举器遍历集合
NSLog(@"%@",ele);
}
/*
注意:
我们使用枚举器遍历数组元素期间,不要添加或者删除数组元素,否则运行的时候程序会奔溃
因为通过objectEnumerator的枚举器的时候数组元素的个数已经记录再枚举器里了,在遍历的时候,如果添加或者删除数组元素的话,数组元素的个数就前后不一致而出现异常
*/
}
return 0;
}
相关文章推荐
- JS中获取和操作iframe
- ?
- Storm并行度理解
- spring中bean的基本xml配置
- 微信企业号开发八:JSAPI模式之身份验证接口
- 【js小方法】isNaN,input中判断是数字
- windows下安装mongodb扩展出现 PHP Warning: PHP Startup: in Unknown on line 0
- HYSBZ 1053 反质数
- 类的特性
- SQL Server——存储过程
- 常用加密方式
- TextFiled 控制键盘只可以输入数字(TextFiled only allow number input)
- 按区域统计采购金额 jfreechart 图表显示
- VS中的SVN的图标不见了
- amoeba+mmm搭建mysql高可用负载均衡集群
- iis7 发布mvc3 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容
- zzulioj 1776: 和尚特烦恼2——第几个素数 (素数打表)
- 文件上传
- fuseTools下 如何融合使用 javaScript,Uno Program,Ux MarkUp
- OC中数组操作1