NSArray和NSMutableArray

NSArray/NSMutableArray

在OC中,我们用NSArrayNSMutableArray类来表示数组。其中NSArray是NSMutableArray的父类。在OC中,我们的数组是有序的对象的集合,即我们的数组只能存储对象。在OC中,我们的数组中元素类型不能是int,float,CGPoint等等类型,必须转换为对象才能放进数组内。

NSArray数组

不可变数组的初始化

    //初始化
    NSArray *array1 = [NSArray new];
    NSArray *array2 = [NSArray array];

    //创建
    NSArray *array3 = [NSArray arrayWithObject:@"zhoudu"];

    //创建一个里面有多个元素的不可变数组
    NSArray *array4 = [NSArray arrayWithObjects:@"zhansan",@"lisi",@"wangwu", nil];

    //新语法
    NSArray *array5 = @[@"zhangsan",@"lisi",@"wangwu"];

    //从数组读取数组
    NSArray *array6 = [NSArray arrayWithArray:array5];

    //从本地文件中读取一个数组
    NSArray *array7 = [NSArray arrayWithContentsOfFile:@""];

    //从网络中读取一个数组
    NSArray *array8 =[NSArray arrayWithContentsOfURL:[NSURL URLWithString:@""]];

不可变数组的操作

    //数组的操作
    //访问数组的元素
    //数组中元素的个数
    NSUInteger count = array5.count;

    NSString *str1 = [array6 objectAtIndex:0];
    NSString *str2 = array6[0];

    //访问整个数组
    for (int i = 0; i < array6.count; i++) {
        NSLog(@"数组中%d中的元素为%@",i,[array6 objectAtIndex:i]);
    }

    //NSNumber类补充
    NSNumber *number1 = [NSNumber numberWithInt:5];
    NSNumber *number2 = @5;//NSValue不行

    //通过元素找下标
    NSUInteger index = [array6 indexOfObject:@"zhangsan"];
    NSLog(@"index = %lu",index);

    //判断数组中是否存在元素
    BOOL flag = [array6 containsObject:@"zhangsan"];

    //向不可变数组中增加一个元素,生成一个新的数组
    NSArray *newarray1 = [array6 arrayByAddingObject:@"maliu"];

    //在数组上增加数组
    NSArray *newarray2 = [array6 arrayByAddingObjectsFromArray:array6];

    //通过字符串将数组中的元素生成一个新的字字符串
    NSString *string1 = [newarray1 componentsJoinedByString:@"------"];
    NSLog(@"string1 = %@",string1);

    NSArray *array10 = @[@"123",@"456",@"789"];
    NSString *string2 = [array10 componentsJoinedByString:@"-"];
    NSLog(@"string = %@",string2);

NSMutableArray数组

NSMutableArrayNSArray的子类

NSMutableArray的初始化

    //NSMutableArray
    //初始化方法
    NSMutableArray *mArray1 = [NSMutableArray array];
    NSMutableArray *mArray2 = [NSMutableArray arrayWithObject:@"1"];
    NSMutableArray *mArray3 = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",nil];
    NSMutableArray *mArray4 = [NSMutableArray arrayWithArray:mArray1];
    NSMutableArray *mArray5 = [NSMutableArray arrayWithCapacity:10];
    NSMutableArray *mArray6 = [NSMutableArray arrayWithContentsOfFile:@""];
    NSMutableArray *mArray7 = [NSMutableArray arrayWithContentsOfURL:[NSURL URLWithString:@""]];

NSMutableArray操作

    //增加
    [mArray3 addObject:mArray5];
    //在数组的制定位置增加一个元素
    [mArray3 insertObject:@"zhangsan" atIndex:3];
    //替换
    [mArray3 replaceObjectAtIndex:2 withObject:@"lisi"];
    //交换,交换两个位置的元素交换
    [mArray3 exchangeObjectAtIndex:1 withObjectAtIndex:4];
    //删除
    [mArray3 removeObject:@"1"];
    //删除指定位置元素
    [mArray3 removeObjectAtIndex:2];
    //删除全部元素
    [mArray3 removeAllObjects];
    //删除最后一个元素
    [mArray3 removeLastObject];

    //遍历数组
    for (id obj in mArray3) {
        NSLog(@"%@",obj);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值