#pragma mark 不可变数组

// 创建方法

快速创建(不可变):@[obj1,obj2,obj3];

快速访问数组元素:数组名[i]

 

// 静态创建

NSArray * array1 = [NSArrayarrayWithObjects:@"One",@"Two",@"Three", nil];

// 实例创建

NSArray * array2 = [[NSArrayalloc]initWithObjects:@"One",@"Two",@"Three",nil];

// array3 来自于 array1

NSArray * array3 = [NSArrayarrayWithArray:array1];

 

// 数组元素个数

NSInteger count = [array1 count];

 

// 根据索引获取元素

NSString * string1 = [array1 objectAtIndex:0];

 

// 向数组中添加元素

NSArray * array4 = [array1 arrayByAddingObject:@"打飞机"];

 

// 把数组转化成字符串(用指定的字符串将数组中的元素连接起来)

NSString * arrayStr = [array1 componentsJoinedByString:@" "];

 

// 检查数组中是否包含某一元素

BOOL isContain = [array1 containsObject:@"end"];

 

// 根据对象返回对应的索引

NSInteger index = [array1 indexOfObject:@"Two"];

 

// 获取数组的最后一个元素

NSString * lastStr = [array1 lastObject];

 

// for循环遍历数组元素

for (int i = 0; i<[array1 count]; i++) {

NSString* str = [array1 objectAtIndex:i];

NSLog(@"str = %@",str);

}

 

// 泛型遍历

// for (<#type *object#> in <#collection#>) {

// <#statements#>

// }

// 在数组中找类型为字符串的元素

for (NSString* str in array1) {

NSLog(@"------str = %@",str);

}


 

 

#pragma mark 可变数组

// 创建方法

// 静态创建

NSMutableArray * MutArray1 = [NSMutableArrayarrayWithCapacity:0];

NSMutableArray * MutArray = [NSMutableArrayarrayWithObjects:@"One",@"Two", nil];

// 实例创建

NSMutableArray * MutArray2 = [[NSMutableArrayalloc]initWithCapacity:0];

// 来自其他数组

NSMutableArray * MutArray3 = [NSMutableArrayarrayWithArray:MutArray1];

 

// 向可变数组增加元素

[MutArray1 addObject:@"One"];

[MutArray1 addObject:@"Two"];

 

// 根据索引添加元素

[MutArray1 insertObject:@"Three"atIndex:2];

 

// 移除指定的元素

[MutArray1 removeObject:@"Three"];

 

// 根据索引移除元素

[MutArray1 removeObjectAtIndex:1];

 

// 向数组中添加数组

[MutArray1 addObjectsFromArray:MutArray];

 

// 替换指定索引的元素

[MutArray1 replaceObjectAtIndex:0withObject:@"Zero"];

 

// 移除所有元素

[MutArray1 removeAllObjects];

 

// 用指定的值替换对应的索引的元素

[MutArray1 replaceObjectAtIndex:0withObject:@"100"];


 

// 遍历数组

NSMutableArray * mutArray = [NSMutableArrayarrayWithObjects:@"1",@"2",@"3", nil];

for (int Index = 0; Index < [mutArray count]; Index++) {

NSString * str = [mutArray objectAtIndex:Index];

}

 

// 快速遍历

// 当元素的类型不知道时用 id 类型

for (id str in mutArray) {

NSLog(@"%@",str);

}


// block遍历

NSArray * array = @[@"1",@"stop",@"jack"];

[array enumerateObjectsUsingBlock:^(id_Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

NSLog(@"元素:%@,索引%ld",obj,idx);

}];


posted on 2019-07-23 14:38  夜之独行者  阅读(117)  评论(0编辑  收藏  举报