zoukankan      html  css  js  c++  java
  • OC基础 可变数组与不可变数组的使用

    OC基础 可变数组与不可变数组的使用

    1.不可变数组

    1.1不可变数组的创建

            //实例方法
            NSArray *array = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];
            NSLog(@"%@",array);
            //类方法
            NSArray *array1 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
            
            //实例方法
            NSArray *array2 = [[NSArray alloc] initWithArray:array];
            NSLog(@"%@",array2);
    NSArray
    *array3 = [NSArray arrayWithArray:array2];

    1.2不可变数组的常用操作

            //获取元素的个数
            NSInteger count = [array count];
            //获取数组某一个位置的元素
            NSString *str = [array objectAtIndex:0];
            //获取某个元素在数组里面的索引(位置)
            NSInteger index = [array indexOfObject:@"2"];
            NSLog(@"%ld",index);
            
            //判断数组中是否包含某个元素
            BOOL b = [array containsObject:@"1"];
            //获取数组的最后一个元素
            NSString *str2 = [array lastObject];
            //以“-”将数组元素拼接成字符串
            NSString *str3 = [array componentsJoinedByString:@"-"];
            
            //数组的的遍历
            for(int i = 0;i<[array count];i++)
            {
                NSString *str = [array objectAtIndex:i];
                NSLog(@"%@",str);
            }
            //for in
            for(NSString *str in array)
            {
                NSLog(@"%@",str);
            }
            
            //数组的嵌套
            NSArray *array4 = [NSArray arrayWithObjects:array,array1,array2,array3, nil];
            NSLog(@"%@",array4);
            
            //嵌套数组的遍历
            //NSArray *array = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];
            for(NSArray *arr in array4)
            {
                for(NSString *str in arr)
                {
                    NSLog(@"%@",str);
                }
            }

    2.可变数组

    2.1可变数组的创建

            //可变数组的创建
            NSMutableArray *muArr = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3", nil];
            NSMutableArray *muArr1 = [[NSMutableArray alloc] initWithArray:muArr];
            NSMutableArray *muArr2 = [NSMutableArray array];

    2.2可变数组的常用操作

            //可变数组添加元素
            //追加一个元素
            [muArr addObject:@"4"];
            //追加一组元素
            [muArr addObjectsFromArray:muArr1];
            NSLog(@"%@",muArr);
            //在指定位置插入元素
            [muArr insertObject:@"5" atIndex:4];
            
            
            //可变数组删除元素
            //删除最后一个元素
            [muArr removeLastObject];
            //删除指定位置的元素
            [muArr removeObjectAtIndex:4];
            NSLog(@"%@",muArr);
            //删除指定元素
            [muArr removeObject:@"1"];
            NSLog(@"%@",muArr);
            //删除所有元素
            [muArr removeAllObjects];
            NSLog(@"%@",muArr);
    
            //数组置空
            //muArr = nil;
            //NSLog(@"%@",muArr);
    
            [muArr addObjectsFromArray:muArr1];
            //@"1",@"2",@"3"
            //删除指定范围内的指定元素
            [muArr removeObject:@"2" inRange:NSMakeRange(0, 1)];
            //根据指定的数组来删除元素
            NSArray *array = [NSArray arrayWithObjects:@"2",@"4", nil];
            [muArr removeObjectsInArray:array];
            NSLog(@"%@",muArr);
            //删除指定范围内的所有元素
            [muArr removeObjectsInRange:NSMakeRange(0, 2)];
            
            //可变字符串的修改
            [muArr setArray:array];
            NSLog(@"%@",muArr);
            
            //替换某个位置的元素
            [muArr replaceObjectAtIndex:0 withObject:@"3"];
            //交换2个元素的位置
            [muArr exchangeObjectAtIndex:0 withObjectAtIndex:1];
            NSMutableArray *muArray = [[NSMutableArray alloc] initWithObjects:@"联通3GNET",@"移动3GCMNET",@"电信4GCTLTE",@"电信3GCTNET",@"联通4GWONET", nil];
            [muArray sortUsingSelector:@selector(compare:)];
            NSLog(@"%@",muArray);
            

    2.3简单的创建数组

     NSArray *array = @[@"1",@"2",@"3"];
     NSLog(@"array = %@",array);
  • 相关阅读:
    Rainmeter 雨滴桌面 主题分享
    行人检測之HOG特征(Histograms of Oriented Gradients)
    const和readonly差别
    ADB命令解析
    Java实现 蓝桥杯VIP 算法训练 接水问题
    Java实现 蓝桥杯VIP 算法训练 星际交流
    Java实现 蓝桥杯VIP 算法训练 星际交流
    Java实现 蓝桥杯VIP 算法训练 星际交流
    Java实现 蓝桥杯VIP 算法训练 星际交流
    Java实现 蓝桥杯VIP 算法训练 星际交流
  • 原文地址:https://www.cnblogs.com/DWdan/p/5062104.html
Copyright © 2011-2022 走看看