数组是有序集合,只能存放对象,数组有下标(index)的概念,靠index来索引元素,下标从0开始,数组分为不可变数组(NSArray)和可变数组(NSMutableArray).
不可变数组(NSArray)
创建数组对象
1 // 创建数组对象
2 NSArray *arr1 = [NSArray arrayWithObjects:@"a", @"苹果", @"c", nil];
3 NSLog(@"arr1: %@", arr1);
数组元素个数
// 元素个数
NSLog(@"arr1: %lu", arr1.count);
数组元素访问
1 // 数组访问
2 NSLog(@"object: %@", [arr1 objectAtIndex:1]);
遍历数组
1 // 遍历数组
2 for (NSInteger i = 0; i < arr1.count; i++) {
3 NSLog(@"%@", [arr1 objectAtIndex:i]);
4 }
可变数组(NSMultableArray)
创建数组
1 // 通常创建空容器 用来存放数据对象
2 NSMutableArray *mArr = [NSMutableArray array];
3 // 添加元素 添加在数组最后
4 [mArr addObject:@"lol"];
插入元素
1 // 插入元素 按照下标位置 指定添加元素
2 [mArr insertObject:@"a" atIndex:0];
3 NSLog(@"%@", mArr);
删除元素
1 // 删除
2 [mArr removeObjectAtIndex:0];
3 [mArr addObject:@"abc"];
4 [mArr addObject:@"123"];
5 [mArr addObject:@"qwer"];
6 NSLog(@"%@", mArr);
替换元素
1 // 替换
2 [mArr replaceObjectAtIndex:2 withObject:@"asdf"];
3 NSLog(@"%@", mArr);
交换元素
1 // 交换
2 [mArr exchangeObjectAtIndex:0 withObjectAtIndex:3];
3 NSLog(@"%@", mArr);