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);
|
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); }
|