在写数组的操作之前,首先来介绍一下快速枚举
快速枚举:for( in );
1.能快速的遍历数组等容器对象
2.都是对容器里的对象的遍历
3.( )内的第一个是数组内元素的类型,第二个是容器
注意:为了增加代码的阅读性,避免不必要的错误,尽量让 for in 的前部分的类型和数组元素类型相同
例子 :
NSArray *arr =@[@"山", @"帅",@"赢",@"林"];
for (NSString *str in arr) {
NSLog(@"%@",str);
}
结果:
2015-07-21 19:12:51.815 OC练习[1976:118082] 山
2015-07-21 19:12:51.816 OC练习[1976:118082] 帅
2015-07-21 19:12:51.816 OC练习[1976:118082] 赢
2015-07-21 19:12:51.816 OC练习[1976:118082] 林
数组
数组内存放的一定是对象
1.添加一个字符串对象
添加到数组最后一位
NSMutableArray *arr =[[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3",@"4", nil];
[arr addObject:@"dska"];
for (NSString *str in arr) {
NSLog(@"%@",str);
}
结果:
2015-07-25 19:30:25.863 OC_数组整理[432:12079] 1
2015-07-25 19:30:25.863 OC_数组整理[432:12079] 2
2015-07-25 19:30:25.864 OC_数组整理[432:12079] 3
2015-07-25 19:30:25.864 OC_数组整理[432:12079] 4
2015-07-25 19:30:25.864 OC_数组整理[432:12079] dska
2.移除一个对象
removeObjectAtIndex:
通过下标来找到所要删除的对象
例子:
NSMutableArray *arr =[[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3",@"4", nil];
[arr removeObjectAtIndex:2];
for (NSString *str in arr) {
NSLog(@"%@",str);
}
2015-07-25 20:10:26.328 OC_数组整理[509:20370] 1
2015-07-25 20:10:26.329 OC_数组整理[509:20370] 2
2015-07-25 20:10:26.329 OC_数组整理[509:20370] 4
3.插入一个字符串
格式
[数组 insertObject: 对象 atIndex:下标]
数组:是原数组
对象:要插入的字符
下标:要插入的位置
例子:
NSMutableArray *arr =[[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3",@"4", nil];
[arr insertObject:@"sad" atIndex:2];
for (NSString *str in arr) {
NSLog(@"%@",str);
}
2015-07-25 20:22:17.688 OC_数组整理[518:23305] 1
2015-07-25 20:22:17.688 OC_数组整理[518:23305] 2
2015-07-25 20:22:17.689 OC_数组整理[518:23305] sad
2015-07-25 20:22:17.689 OC_数组整理[518:23305] 3
2015-07-25 20:22:17.689 OC_数组整理[518:23305] 4
4.替换一个字符串
格式
[数组 replaceObjectAtIndex:下标 withObject:对象];
数组:原数组
下标:要被替换的对象的下标
对象:要替换的内容
例子
NSMutableArray *arr =[[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3",@"4", nil];
[arr replaceObjectAtIndex:3 withObject:@"liu "];
for (NSString *str in arr) {
NSLog(@"%@",str);
}
结果:
2015-07-25 20:30:49.945 OC_数组整理[528:25416] 1
2015-07-25 20:30:49.946 OC_数组整理[528:25416] 2
2015-07-25 20:30:49.946 OC_数组整理[528:25416] 3
2015-07-25 20:30:49.946 OC_数组整理[528:25416] liu
5.交换两个字符串
[数组 exchangeObjectAtIndex:下标 withObjectAtIndex:下标];
交换两个下标所对应的对象的位置
例子:
NSMutableArray *arr =[[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3",@"4", nil];
[arr exchangeObjectAtIndex:0 withObjectAtIndex:1];
for (NSString *str in arr) {
NSLog(@"%@",str);
}
NSLog(@"%@",arr);
结果:
2015-07-25 20:36:45.309 OC_数组整理[545:27008] 2
2015-07-25 20:36:45.310 OC_数组整理[545:27008] 1
2015-07-25 20:36:45.310 OC_数组整理[545:27008] 3
2015-07-25 20:36:45.310 OC_数组整理[545:27008] 4
6.清空数组
清空数组内的全部对象
格式:
[数组 removeAllObjects]
例子:
NSMutableArray *arr =[[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3",@"4", nil];
[arr removeAllObjects];
NSLog(@"%@",arr);