1:數組的基本概念
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);四:用指定的字符把數據用字符串形式顯示出來
// 數組——>字符串 NSString *string2=[array5 componentsJoinedByString:@","]; NSLog(@"%@",string2);五: 查詢數組中是否包含指定的對象
//判斷數組中是否存在指定的對象
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二:高效遍歷
//高效遍歷
for (NSString *str in array6) { NSLog(@"%@",str); }