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);
  • 相关阅读:
    产品微谈
    SVN回滚机制
    super究竟是个啥?
    PM12条
    CocoaPods初体验
    UIView局部点击
    Memory cycles about Block
    About "self"
    openfire学习(一)
    WPF菜单和布局(2)
  • 原文地址:https://www.cnblogs.com/DWdan/p/5062104.html
Copyright © 2011-2022 走看看