OC之NSArray

上一章我们讲述了NSString和NSMutableString的常用方法

OC之NSString

这章我们来看看不可变数组(NSArray)和可变数组(NSMutableArray)的常用方法都有哪些


首先看一下数组对应的添加方法

代码段:

        // 数组(NSArray/NSMutableArray)增加方法
        // 自面量@[object1, object2....](NSArray适用)
        NSArray *array1 = @[@"string01", @"string11", @"string02", @"string05", @"string03"];
        NSLog(@"自面量创建不可变数组 array1 = %@", array1);
        
        // 初始化方法[[NSArray alloc] initWithObjects:object1, object2...,nil](NSArray/NSMutableArray适用)
        NSArray *array2 = [[NSArray alloc] initWithObjects:@"string01", @"string21", @"string04", @"string02", nil];
        NSLog(@"使用初始化方法创建不可变数组 array2 = %@", array2);
        NSMutableArray *muArray1 = [[NSMutableArray alloc] initWithObjects:@"string01", @"string21", @"string04", @"string02", nil];
        NSLog(@"使用初始化方法创建可变数组 muArray1 = %@", muArray1);
        
        // 便利构造器[NSArray arrayWithObjects:object1, object2....,nil](NSArray/NSMutableArray适用)
        NSArray *array3 = [NSArray arrayWithObjects:@"string01", @"string21", @"string04", @"string02", nil];
        NSLog(@"使用便利构造器创建不可变数组 array3 = %@", array3);
        NSMutableArray *muArray2 = [NSMutableArray arrayWithObjects:@"string01", @"string21", @"string04", @"string02", nil];
        NSLog(@"使用便利构造器创建可变数组 muArray2 = %@", muArray2);
        NSMutableArray *muArray3 = [NSMutableArray array]; // 使用便利构造器创建一个空的可变数组 这个方法在做项目中会经常使用到
        
        // [mutableArray addObject:](NSMutableArray适用)
        [muArray3 addObject:@"string09"];
        NSLog(@"可变数组追加元素 muArray3 = %@", muArray3);
        
        // [mutableArray addObjectsFromArray:](NSMutableArray适用)
        [muArray3 addObjectsFromArray:array2];
        NSLog(@"可变数组追加一个不可变数组 muArray3 = %@", muArray3);
        
        // 数组(NSArray/NSMutableArray)删除方法 (NSMutableArray适用)
        // [mutableArray removeObject:]
        [muArray3 removeObject:@"string09"];
        NSLog(@"可变数组删除一个元素 muArray3 = %@", muArray3);
        
        // [mutableArray removeObjectAtIndex:]
        [muArray3 removeObjectAtIndex:1];
        NSLog(@"可变数组删除指定下标的元素 muArray3 = %@", muArray3);
        
        // [mutableArray removeLastObject]
        [muArray3 removeLastObject];
        NSLog(@"可变数组删除最后一个元素 muArray3 = %@", muArray3);
        
        // [mutableArray removeAllObjects]
        [muArray3 removeAllObjects];
        NSLog(@"可变数组删除所有元素 muArray3 = %@", muArray3);

运行结果:

2015-05-28 19:17:13.846 Demo_01[2649:167665] 自面量创建不可变数组 array1 = (
    string01,
    string11,
    string02,
    string05,
    string03
)
2015-05-28 19:17:13.847 Demo_01[2649:167665] 使用初始化方法创建不可变数组 array2 = (
    string01,
    string21,
    string04,
    string02
)
2015-05-28 19:17:13.847 Demo_01[2649:167665] 使用初始化方法创建可变数组 muArray1 = (
    string01,
    string21,
    string04,
    string02
)
2015-05-28 19:17:13.847 Demo_01[2649:167665] 使用便利构造器创建不可变数组 array3 = (
    string01,
    string21,
    string04,
    string02
)
2015-05-28 19:17:13.848 Demo_01[2649:167665] 使用便利构造器创建可变数组 muArray2 = (
    string01,
    string21,
    string04,
    string02
)
2015-05-28 19:17:13.848 Demo_01[2649:167665] 可变数组追加元素 muArray3 = (
    string09
)
2015-05-28 19:17:13.848 Demo_01[2649:167665] 可变数组追加一个不可变数组 muArray3 = (
    string09,
    string01,
    string21,
    string04,
    string02
)

对数组元素进行删除的方法(注意该方法只对NSMutableArray可变数组适用)

代码段:

        // 数组(NSArray/NSMutableArray)删除方法 (NSMutableArray适用)
        // [mutableArray removeObject:]
        [muArray3 removeObject:@"string09"];
        NSLog(@"可变数组删除一个元素 muArray3 = %@", muArray3);
        
        // [mutableArray removeObjectAtIndex:]
        [muArray3 removeObjectAtIndex:1];
        NSLog(@"可变数组删除指定下标的元素 muArray3 = %@", muArray3);
        
        // [mutableArray removeLastObject]
        [muArray3 removeLastObject];
        NSLog(@"可变数组删除最后一个元素 muArray3 = %@", muArray3);
        
        // [mutableArray removeAllObjects]
        [muArray3 removeAllObjects];
        NSLog(@"可变数组删除所有元素 muArray3 = %@", muArray3);

运行结果:

2015-05-28 19:19:46.011 Demo_01[2663:169111] 可变数组删除一个元素 muArray3 = (
    string01,
    string21,
    string04,
    string02
)
2015-05-28 19:19:46.012 Demo_01[2663:169111] 可变数组删除指定下标的元素 muArray3 = (
    string01,
    string04,
    string02
)
2015-05-28 19:19:46.012 Demo_01[2663:169111] 可变数组删除最后一个元素 muArray3 = (
    string01,
    string04
)
2015-05-28 19:19:46.018 Demo_01[2663:169111] 可变数组删除所有元素 muArray3 = (
)

对数组进行修改的方法(同样该类方法只对NSMutableArray可变数组适用)

代码段:

        // 数组(NSArray/NSMutableArray)修改方法(NSMutableArray适用)
        // [mutableArray replaceObjectAtIndex:withObject:]
        [muArray2 replaceObjectAtIndex:0 withObject:@"string100"];
        NSLog(@"可变数组把指定下标的元素变更成指定元素 muArray2 = %@", muArray2);
        
        // [mutableArray replaceObjectsInRange:withObjectsFromArray:]
        [muArray2 replaceObjectsInRange:NSMakeRange(0, 2) withObjectsFromArray:@[@"string101", @"string102"]];
        NSLog(@"可变数组把指定范围的元素转换成指定数组 muArray2 = %@", muArray2);

运行结果:

2015-05-28 19:19:46.018 Demo_01[2663:169111] 可变数组把指定下标的元素变更成指定元素 muArray2 = (
    string100,
    string21,
    string04,
    string02
)
2015-05-28 19:19:46.018 Demo_01[2663:169111] 可变数组把指定范围的元素转换成指定数组 muArray2 = (
    string101,
    string102,
    string04,
    string02
)

对数组元素进行查询的方法(这些方法对NSArray不可变数组和NSMutableArray可变数组都适用)

代码段:

        // 数组(NSArray/NSMutableArray)查询方法
        // [mutableArray ObjectAtIndex:]
        NSString *value = [array2 objectAtIndex:0];
        NSLog(@"不可变数组按照数组下标查询元素 value = %@", value);
        NSString *muValue = [muArray2 objectAtIndex:0];
        NSLog(@"可变数组按照数组下标查询元素 muValue = %@", muValue);
        
        // [mutableArray indexOfObject:]
        NSUInteger key = [array2 indexOfObject:@"string21"];
        NSLog(@"不可变数组查询某个对象在数组中得下标 key = %lu", key);
        NSUInteger muKey = [muArray2 indexOfObject:@"string102"];
        NSLog(@"可变数组查询某个对象在数组中得小标 muKey = %lu", muKey);
        
        // [mutableArray count]
        NSInteger count = [array2 count];
        NSLog(@"查询不可变数组的长度 count = %ld", count);
        NSInteger muCount = [muArray2 count];
        NSLog(@"查询可变数组的长度 muCount = %ld", muCount);
        
        // mutableArray[i]
        NSString *subValue = array2[3];
        NSLog(@"不可变数组按照数组下标查询元素的另一种方法 subValue = %@", subValue);
        NSString *muSubValue = muArray2[3];
        NSLog(@"可变数组按照数组下标查询元素的另一种方法 muSubValue = %@", muSubValue);

运行结果:

2015-05-28 19:19:46.019 Demo_01[2663:169111] 不可变数组按照数组下标查询元素 value = string01
2015-05-28 19:19:46.019 Demo_01[2663:169111] 可变数组按照数组下标查询元素 muValue = string101
2015-05-28 19:19:46.019 Demo_01[2663:169111] 不可变数组查询某个对象在数组中得下标 key = 1
2015-05-28 19:19:46.019 Demo_01[2663:169111] 可变数组查询某个对象在数组中得小标 muKey = 1
2015-05-28 19:19:46.019 Demo_01[2663:169111] 查询不可变数组的长度 count = 4
2015-05-28 19:19:46.019 Demo_01[2663:169111] 查询可变数组的长度 muCount = 4
2015-05-28 19:19:46.020 Demo_01[2663:169111] 不可变数组按照数组下标查询元素的另一种方法 subValue = string02
2015-05-28 19:19:46.020 Demo_01[2663:169111] 可变数组按照数组下标查询元素的另一种方法 muSubValue = string02

欢迎大家及时补充,一起进步!大笑

另外下一章我们将讲解OC中字典的常见用法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值