数组与可变数组

数组与可变数组

 

不可变数组

 数组里的元素存放类型:数组里可以放任意类型的数

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);

        }

原文地址:https://www.cnblogs.com/liYongJun0526/p/4854499.html