1:數(shù)組的基本概念

  Foundation中的數(shù)組(NSArray,NSMutableArray)是一組有序的對(duì)象集合,通過(guò)索引下標(biāo)獲取到數(shù)組中的

各個(gè)元素.與字符串相同,數(shù)組也是可變和不可變數(shù)組之分.此外,數(shù)組中不可以存放基本數(shù)組類型,只能存放類的

實(shí)例(對(duì)象).如若需要將基本數(shù)據(jù)類型,結(jié)構(gòu)體放入數(shù)組中,需要通過(guò)NSNumber,NSValue進(jìn)行數(shù)據(jù)的“封裝”

2:不可變數(shù)組-NSArray

  一:數(shù)組的初始化

     // 不可變數(shù)組的初始化

        NSArray *firstArray=[NSArray arrayWithObject:@"abc"];         //  多個(gè)元素初始化時(shí),注意以nil作為數(shù)組的結(jié)束         NSArray *secondArray=[NSArray arrayWithObjects:@"one","two", nil];         NSArray *thirdArray=[NSArray arrayWithArray:secondArray];         NSArray *fourArray=[NSArray arrayWithContentsOfFile:@"/apple/user/array.txt"];
  二:獲取數(shù)組中的元素個(gè)數(shù)和訪問(wèn)
  
 //獲取數(shù)組中的元素個(gè)數(shù)和訪問(wèn)         int count=[secondArray count];         NSLog(@"secondArray all element %ld",count);         NSString *string1=[secondArray objectAtIndex:1];         NSLog(@"secondArray of element 1 is %@",string1);
三:在原來(lái)的數(shù)組對(duì)象的基礎(chǔ)上面,追加對(duì)象返回新的數(shù)組
  
//追加數(shù)組的內(nèi)容         NSArray *array5=[secondArray arrayByAddingObject:@"end"];         NSLog(@"array5 is %@",array5);
四:用指定的字符把數(shù)據(jù)用字符串形式顯示出來(lái)
  
// 數(shù)組——>字符串         NSString *string2=[array5 componentsJoinedByString:@","];         NSLog(@"%@",string2); 
五: 查詢數(shù)組中是否包含指定的對(duì)象
  //判斷數(shù)組中是否存在指定的對(duì)象  
        Boolean result=[array5 containsObject:@"two"];         if(result){             NSLog(@"存在指定的two");         }else{             NSLog(@"不存在");         }
六:根據(jù)指定的對(duì)象返回索引下標(biāo),返回?cái)?shù)組中最后的一個(gè)元素
//根據(jù)指定的對(duì)象返回索引下標(biāo),返回?cái)?shù)組中最后的一個(gè)元素
        NSInteger *index=[array5 indexOfObject:@"two"];         NSLog(@"index:%ld",index);         NSString *string3 =[array5 lastObject];         NSLog(@"%@",string3);
3:可變數(shù)組的常用方法(NSMutableArray)
 一:初始化 設(shè)定元素個(gè)數(shù)為5,但可以更改,追加數(shù)值對(duì)象 
  
 // 初始化,指定數(shù)組的個(gè)數(shù)為5,但是可以更改的         NSMutableArray *mutableArrray1=[NSMutableArray array];//空的數(shù)組         NSMutableArray *mutableArrray2=[NSMutableArray arrayWithCapacity:5];         NSMutableArray *mutableArrray3=[NSMutableArray arrayWithObjects:@"one",@"two", nil];         NSLog(@"%@",mutableArrray3);         [mutableArrray3 addObject:@"three"];         NSLog(@"%@",mutableArrray3);
二:向數(shù)組中指定下標(biāo)插入元素
  
        //向數(shù)組中指定下標(biāo)插入元素         [mutableArrray3 insertObject:@"ccc" atIndex:2];         NSLog(@"%@",mutableArrray3);
三:移除指定元素,移除最后一個(gè)元素,移除指定下標(biāo)的元素
  
        //移除最后一個(gè)元素         [mutableArrray3 removeLastObject];         NSLog(@"%@",mutableArrray3);         //移除指定元素         [mutableArrray3 removeObject:@"one"];         //移除指定下標(biāo)的元素         [mutableArrray3 removeObjectAtIndex:0];         NSLog(@"%@",mutableArrray3);
四:向數(shù)組中添加數(shù)組
  //向數(shù)種添加數(shù)組  
        NSMutableArray *mutableArray4=[NSMutableArray arrayWithObjects:@"four",@"five", nil];         [mutableArrray3 addObjectsFromArray:mutableArray4];         NSLog(@"%@",mutableArrray3);
五:數(shù)組中的對(duì)象替換
 //數(shù)組中的對(duì)象替換 
        [mutableArrray3 replaceObjectAtIndex:1 withObject:@"4"];         NSLog(@"%@",mutableArrray3);
3:數(shù)組的遍歷
 一:常規(guī)遍歷
 NSArray *array6=[NSMutableArray arrayWithObjects:@"x",@"y",@"z", nil]; 
        NSInteger size=[array6 count];         for (NSInteger i=0;i<size; i++) {             NSString *str=[array6 objectAtIndex:i];             NSLog(@"%@",str);           } 
二:高效遍歷
 //高效遍歷 
        for (NSString *str in array6) {            NSLog(@"%@",str);         }