数组与可变数组
不可变数组
数组里的元素存放类型:数组里可以放任意类型的数
1.不可变数组:数组内不可以对其元素进行添加、删出、替换等操作
2.初始化数组
1)初始化一个空数组
(1)NSArray *array = [[NSArray alloc]init];
(2)NSArray *array1 = [NSArray array];
2)初始化的同时添加一个元素
NSArray *array2 = [NSArray arrayWithObject:@"存放的元素"];
3)初始化同时添加多个元素 注意重点:不要忘记nil nil前面有一个","
NSArray *array3 = [NSArray arrayWithObjects:@"元素1",@"元素2",***, nil];
4)数组书写的新方法
NSArray *array4 = @[@"元素1",@"元素2",@"元素3",...];
3.数组的取值
1)数组的取值:是通过下标取值 、下标从0开始 。取数组里元素的方法是 objectAtIndex
例如:NSArray *array5 = [NSArray arrayWithObjects:@"刘备",@"张飞",@"曹操",@"诸葛亮" ,nil];
取数组array5里的"张飞":NSString *name = [array5 objectAtIndex:0]; 注意:数组里存的是什么数据类型 就要用什么类型去接收
2)取值的新方法
NSString *name1 = array5[0];
可变数组
1.可变数组: 可以在数组里进行增、删、改的操作。
2.可变数组与数组的关系:可变数组是数组的子类
3.可变数组的初始化方式
1)初始化一个空可变数组
NSMutableArray *array = [[NSMutableArray alloc] init];
2)初始化一个空可变数组
NSMutableArray *arry1 = [NSMutableArray array];
3)初始化同时添加一个元素
NSMutableArray *array2 = [NSMutableArray arrayWithObject:@""];
4)初始化同时添加多个元素
NSMutableArray *array3 = [NSMutableArray arrayWithObjects:@"", @"", nil];
注意:不可以使用这种方式初始化可变数组
NSMutableArray *array4 = @[@"", @""]; 因为这种方式初始化的只能是不可变数组
4.可变数组的属性
1) 可以向数组内添加元素。***注意:在使用可变数组时 一定要记得初始化。
addObject:为可变数组添加元素的方法
例如:NSMutableArray *array5 = [NSMutableArray array];
[array5 addObject:@"小明"];
[array5 addObject:@"aoTeMan"];
2)向数组里面添加1到100这些数字 使用循环来添加,注意:数组需要在循环外初始化 否则每次都会实例化一个新数组
NSMutableArray *array6 = [NSMutableArray array];
for (int i = 1; i<=100; i++) {
// 添加元素的操作 需要放在循环里 因为 咱们需要每次循环的时候 都去添加一个元素,且数组里存放的元素是<id>类型,在存放前需要将其转换为<id>类型
NSNumber *j = [[NSNumber alloc]initWithInt:i];
[array6 addObject:j];
}
5.移除可变数组里的元素,使用的方法为:removeObject:
例如:移除array6里面的“66”这个数
[array6 removeObject:suWuKongSkill[66]];
6.移除可变数组最后一个元素,方法:removeLastObject
[array6 removeLastObject];
7.移除指定的元素,方法:removeObjectAtIndex
例如:移除array6里的第3个元素
[array6 removeObject:3];
8.清空所有的元素,方法:removeAllObjects
[array6 removeAllObjects];
9.获取数组的第一个元素 [array6 firstObject];
10.获取数组的最后一个元素 [array6 lastObject];
11.快速遍历方式
例如:id abc 数组里的每一个元素,in 表示在哪里面,gruop 要遍历的数组
for (id abc in group) {
NSLog(@"%@",abc);
}