//********NSArray數組不可變******** //數組的建立 NSString *s1 = @"zhangsan"; NSString *s2 = @"lisi"; NSString *s3 = @"wangwu"; //注意:最後有nil結尾 NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3,nil]; NSLog(@"%@",array1); //使用類方法建立 NSArray *array2 = [NSArray arrayWithObjects:s1,s2,s3, nil]; NSLog(@"%@",array2); //建立一個數組對象,同事往裏面存入一個元素 NSArray *array3 = [NSArray arrayWithObject:s1]; NSLog(@"array4=%@",array3); //建立一個數組,此數組中的元素來自於array1 NSArray *array4 = [NSArray arrayWithArray:array1]; NSLog(@"%@",array4); //經過下標取元素 NSString *str1 = [array4 objectAtIndex:2]; NSLog(@"%@",str1); //數組元素的個數 NSUInteger count1 = [array4 count];//== NSUInteger count2 = array4.count; NSLog(@"%ld",count1); //判斷一個數組中是否包含某一個對象 BOOL isContains = [array4 containsObject:@"zhangsan"]; NSLog(@"isContains = %d",isContains); //查找某個對象在數組中的下標位置 NSUInteger index = [array4 indexOfObject:@"zhangsan1"]; NSLog(@"%ld",index); if (index == NSNotFound) { NSLog(@"沒有找到此元素"); } //鏈接數組中的字符串,數組中的元素必須都是字符串才能夠用此方法 NSString *str3 = [array4 componentsJoinedByString:@","]; NSLog(@"%@",str3); //獲取數組中最後一個元素 NSString *lastObject = [array4 lastObject]; NSLog(@"%@",lastObject); //獲取第一個 能夠用objectAtIndex NSString *str4 = [array4 objectAtIndex:0]; NSLog(@"%@",str4); //在原來的數組中增長一個元素(追加以後是建立一個新的數組) NSArray *array5 = [array4 arrayByAddingObject:@"hello world"]; NSLog(@"%@",array5); //基本數據類型不能存放到數組中 //遍歷數組 獲取數組長度[array5 count] == array5.count for (int i = 0 ; i < array5.count; i++) { NSString *s = [array5 objectAtIndex:i]; NSLog(@"%@",s); } //數組快速遍歷 for (NSString *s in array5) { NSLog(@"%@",s); } //---xcode4.4之後,編譯器作了優化-數組能夠用如下方式建立-- NSArray *array7 = @[s1,s2,s3]; for (NSString *s in array7) { NSLog(@"%@",s); } NSArray *array8 = @[s1,s2,s3]; array8[2];//經過下標訪問 NSLog(@"%@",array8[2]);
NSMutableArray *mArray1 = [[NSMutableArray alloc]initWithObjects:str1,str3, nil]; NSLog(@"%@",mArray1); NSMutableArray *mArray2 = @[str3,str1];//這是建立一個不可變數組