oc之NSArray

来源:互联网 发布:网站源码盗取工具 编辑:程序博客网 时间:2024/06/09 19:34

数组的基本概念

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

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

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

2:不可变数组-NSArray

一:数组的初始化

// 不可变数组的初始化

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

二:获取数组中的元素个数和访问

//获取数组中的元素个数和访问 int count=[secondArray count]; NSLog(@"secondArray all element %ld",count); NSString *string1=[secondArray objectAtIndex:1]; NSLog(@"secondArray of element 1 is %@",string1);

三:在原来的数组对象的基础上面,追加对象返回新的数组

//追加数组的内容 NSArray *array5=[secondArray arrayByAddingObject:@"end"]; NSLog(@"array5 is %@",array5);
<span style="font-family: 宋体; text-indent: 2em;">四:用指定的字符把数据用字符串形式显示出来</span>
<span style="font-family: 宋体; text-indent: 2em;">// 数组——>字符串 NSString *string2=[array5 componentsJoinedByString:@","]; NSLog(@"%@",string2);</span>
<span style="font-family: 宋体; text-indent: 2em;"><span style="color: rgb(51, 51, 51); font-family: 宋体; font-size: 14px; line-height: 28px;">五: 查询数组中是否包含指定的对象</span></span>
<span style="font-family: 宋体; text-indent: 2em;"><span style="color: rgb(51, 51, 51); font-family: 宋体; font-size: 14px; line-height: 28px;">//判断数组中是否存在指定的对象 </span></span>
<span style="font-family: 宋体; text-indent: 2em;"><span style="color: rgb(51, 51, 51); font-family: 宋体; font-size: 14px; line-height: 28px;">Boolean result=[array5 containsObject:@"two"]; if(result){ NSLog(@"存在指定的two"); }else{ NSLog(@"不存在"); }</span></span>
<span style="font-family: 宋体; text-indent: 2em;"><span style="color: rgb(51, 51, 51); font-family: 宋体; font-size: 14px; line-height: 28px;"><span style="color: rgb(51, 51, 51); font-family: 宋体; font-size: 14px; line-height: 28px;">五: 查询数组中是否包含指定的对象</span></span></span>
<pre name="code" class="objc">//判断数组中是否存在指定的对象Boolean result=[array5 containsObject:@"two"]; if(result){ NSLog(@"存在指定的two"); }else{ NSLog(@"不存在"); }


六:根据指定的对象返回索引下标,返回数组中最后的一个元素
//根据指定的对象返回索引下标,返回数组中最后的一个元素

NSInteger *index=[array5 indexOfObject:@"two"];NSLog(@"index:%ld",index);NSString *string3 =[array5 lastObject];NSLog(@"%@",string3);

3:可变数组的常用方法(NSMutableArray)

一:初始化 设定元素个数为5,但可以更改,追加数值对象

// 初始化,指定数组的个数为5,但是可以更改的 NSMutableArray *mutableArrray1=[NSMutableArray array];//空的数组 NSMutableArray *mutableArrray2=[NSMutableArray arrayWithCapacity:5]; NSMutableArray *mutableArrray3=[NSMutableArray arrayWithObjects:@"one",@"two", nil]; NSLog(@"%@",mutableArrray3); [mutableArrray3 addObject:@"three"]; NSLog(@"%@",mutableArrray3);


二:向数组中指定下标插入元素

//向数组中指定下标插入元素 [mutableArrray3 insertObject:@"ccc" atIndex:2]; NSLog(@"%@",mutableArrray3);


三:移除指定元素,移除最后一个元素,移除指定下标的元素

//移除最后一个元素 [mutableArrray3 removeLastObject]; NSLog(@"%@",mutableArrray3); //移除指定元素 [mutableArrray3 removeObject:@"one"]; //移除指定下标的元素 [mutableArrray3 removeObjectAtIndex:0]; NSLog(@"%@",mutableArrray3);


四:向数组中添加数组

//向数种添加数组 NSMutableArray *mutableArray4=[NSMutableArray arrayWithObjects:@"four",@"five", nil]; [mutableArrray3 addObjectsFromArray:mutableArray4]; NSLog(@"%@",mutableArrray3);


五:数组中的对象替换

[mutableArrray3 replaceObjectAtIndex:1 withObject:@"4"]; NSLog(@"%@",mutableArrray3);

3:数组的遍历

NSArray *array6=[NSMutableArray arrayWithObjects:@"x",@"y",@"z", nil];NSInteger size=[array6 count]; for (NSInteger i=0;i<size; nsstring="" pre="" str="[array6">


二:高效遍历

for (NSString *str in array6) { NSLog(@"%@",str); }





1 0
原创粉丝点击