//********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];//这是建立一个不可变数组