OC 中 NSArray 的常用方法

1:数组的基本概念

Foundation中的数组(NSArray,NSMutableArray)是一组有序的对象集合,通过索引下标获取到数组中的

各个元素.与字符串相同,数组也是可变和不可变数组之分.此外,数组中不可以存放基本数组类型,只能存放类的

实例(对象).如若需要将基本数据类型,结构体放入数组中,需要通过NSNumber,NSValue进行数据的“封装”

2:不可变数组-NSArray

一:数组的初始化

// 不可变数组的初始化

?
1
2
3
4
5
NSArray *firstArray=[NSArray arrayWithObject:@ "abc" ];
//  多个元素初始化时,注意以nil作为数组的结束
NSArray *secondArray=[NSArray arrayWithObjects:@ "one" , "two" , nil];
NSArray *thirdArray=[NSArray arrayWithArray:secondArray];
NSArray *fourArray=[NSArray arrayWithContentsOfFile:@ "/apple/user/array.txt" ];
?
1
二:获取数组中的元素个数和访问
?
1
 
?
1
//获取数组中的元素个数和访问 int count=[secondArray count]; NSLog(@"secondArray all element %ld",count); NSString *string1=[secondArray objectAtIndex:1]; NSLog(@"secondArray of element 1 is %@",string1);
三:在原来的数组对象的基础上面,追加对象返回新的数组
?
1
 
?
1
//追加数组的内容 NSArray *array5=[secondArray arrayByAddingObject:@"end"]; NSLog(@"array5 is %@",array5);
四:用指定的字符把数据用字符串形式显示出来
?
1
 
?
1
// 数组——>字符串 NSString *string2=[array5 componentsJoinedByString:@","]; NSLog(@"%@",string2);
五: 查询数组中是否包含指定的对象
?
1
//判断数组中是否存在指定的对象
?
1
Boolean result=[array5 containsObject:@ "two" ]; if (result){ NSLog(@ "存在指定的two" ); } else { NSLog(@ "不存在" ); }
六:根据指定的对象返回索引下标,返回数组中最后的一个元素
//根据指定的对象返回索引下标,返回数组中最后的一个元素
?
1
2
3
4
NSInteger *index=[array5 indexOfObject:@ "two" ];
NSLog(@ "index:%ld" ,index);
NSString *string3 =[array5 lastObject];
NSLog(@ "%@" ,string3);
3:可变数组的常用方法(NSMutableArray)
?
1
一:初始化 设定元素个数为 5 ,但可以更改,追加数值对象
?
1
 
?
1
// 初始化,指定数组的个数为5,但是可以更改的 NSMutableArray *mutableArrray1=[NSMutableArray array];//空的数组 NSMutableArray *mutableArrray2=[NSMutableArray arrayWithCapacity:5]; NSMutableArray *mutableArrray3=[NSMutableArray arrayWithObjects:@"one",@"two", nil]; NSLog(@"%@",mutableArrray3); [mutableArrray3 addObject:@"three"]; NSLog(@"%@",mutableArrray3);
二:向数组中指定下标插入元素
?
1
 
?
1
//向数组中指定下标插入元素 [mutableArrray3 insertObject:@"ccc" atIndex:2]; NSLog(@"%@",mutableArrray3);
三:移除指定元素,移除最后一个元素,移除指定下标的元素
?
1
 
?
1
//移除最后一个元素 [mutableArrray3 removeLastObject]; NSLog(@"%@",mutableArrray3); //移除指定元素 [mutableArrray3 removeObject:@"one"]; //移除指定下标的元素 [mutableArrray3 removeObjectAtIndex:0]; NSLog(@"%@",mutableArrray3);
四:向数组中添加数组
?
1
//向数种添加数组
?
1
NSMutableArray *mutableArray4=[NSMutableArray arrayWithObjects:@ "four" ,@ "five" , nil]; [mutableArrray3 addObjectsFromArray:mutableArray4]; NSLog(@ "%@" ,mutableArrray3);
五:数组中的对象替换
?
1
//数组中的对象替换
?
1
[mutableArrray3 replaceObjectAtIndex: 1 withObject:@ "4" ]; NSLog(@ "%@" ,mutableArrray3);
?
1
3 :数组的遍历
?
1
一:常规遍历
?
1
NSArray *array6=[NSMutableArray arrayWithObjects:@ "x" ,@ "y" ,@ "z" , nil];
?
1
NSInteger size=[array6 count]; for (NSInteger i= 0 ;i<size; nsstring= "" pre= "" str= "[array6" >二:高效遍历</size;>
?
1
//高效遍历
?
1
for (NSString *str in array6) { NSLog(@ "%@" ,str); }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值