NSArray NSMutableArray的简单使用

一:数组介绍:

1、定义:

简单地说就是元素的集合。OC中数组可以保存不同类型的对象,但只能保存对象。不能保存基本类型,若保存基本数据类型

(int double float ....),需要转换成对象(NSString NSNumber...)保存。数组的最后一个元素为是nil,表示结束。

2、分类:

可变数组 NSMutableArray

不可变数组  NSArray 

(可不可变是指个数能不能改变,数组元素的值还是可以改变的)

二:使用:

1、初始化:

    NSArray *array = [[NSArray alloc] initWithObjects:@"one",@"two",@"three",@"four", nil];
    NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];

    // 不同类型的元素
    NSArray *array3 = [NSArray arrayWithObjects:@"1",array,@"2",array2,@"3", nil];

    // 通过一个数组,来创建一个数组!
    NSArray *array4 = [[NSArray alloc] initWithArray:array];
    NSArray *array5 = [NSArray arrayWithArray:array];

2、增:

NSArray 不能增加元素

    NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"one",@"two", nil];
    [array addObject:@"three"];
// 在下标为1的地方,插入一个元素
    [array insertObject:@"five" atIndex:1];

3、删

NSArray 不能删除元素

[array removeObjectAtIndex:0];

[array removeObject:@"one"];
    
[array removeLastObject];
   
[array removeAllObjects];

4、查

//根据下标
[array objectAtIndex:0];
//是否包含
[array containsObject:@"1"];
//个数
[array count];
//最后一个元素
[array lastObject];

5、改

[array replaceObjectAtIndex:2 withObject:@"one"];
[array exchangeObjectAtIndex:0 withObjectAtIndex:1];

6、遍历

//方法1 for循环
for (int i = 0; array.count; i++) {
        NSLog(@"%@",[array objectAtIndex:i]);
}

//方法2 枚举
for (<#type *object#> in <#collection#>) {
        <#statements#>
}
例如:
for (NSString *str in array) {
        NSLog(@"%@",str);
}

//方法3 枚举器
NSEnumerator *enumerator = [array objectEnumerator];  
id obj = nil;  
while(obj = [enumerator nextObject]){  
    NSLog(@"obj=%@",obj);  
}

// 创建一个倒序的枚举器
    enumerator = [array reverseObjectEnumerator];
    while (obj = [enumerator nextObject]) {
        NSLog(@"obj = %@",obj);
    }
    
//方法4 block
[array enumeratorObjectsUsingBlock:  
^(id obj, NSUInteger index, BOOL  *stop){  
    NSLog(@"%i-%@",index,obj);  
    //若终断循环  
    *stop = YES;  
}];

7、比较

[array isEqualToArray:array1];







转载于:https://my.oschina.net/liuchuanfeng/blog/646872

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值