Objective-C 基础知识之(六):NSArray、NSMutableArray

数组的特点:

1、数组中的元素是有序的;

2、数组元素的下标从0开始;

 

OC中提供的数组对象

3、数组中只能存储对象,不能存储基本数据类型;

4、数组中存数的对象类型可以不同。

        

NSArray 不可变数组

       

1、创建对象。 初始化方法中的nil的作用:结束数组元素的存储,nil后面的数据不会存储在数组中

NSArray * arr1 =[[NSArray alloc]initWithObjects:@"10",@"20",@"30", nil];

NSLog(@"%@",arr1);

      

NSArray * arr2 =[[NSArray alloc] initWithObjects:@"杨 01",@"杨 02",@"杨 03", nil];  //汉字在OC中显示为unicode编码。     

NSLog(@"%@",arr2);

2、获取元素个数

NSUInteger count =[arr1 count];

NSLog(@"%lu",count);

       

3、根据下标读取数组元素

NSString * s1 =[arr1 objectAtIndex:1];

NSLog(@"%@",s1);

      

NSString * s2 =arr1[2];

NSLog(@"%@",s2);

       

4、获取某个数组元素的下标

NSUInteger index =[arr1 indexOfObject:@"30"];

NSLog(@"%lu",index);

       

5、使用语法糖创建不可变数组对象

NSArray * arr3 =@[@"30", @"20", @"10"];

NSLog(@"%@",arr3);

    

 

 

NSMutableArray 可变数组

获取元素个数、访问数组元素和NSArray的方法一致,是NSArray的子类。

       

1、创建可变的数组对象

NSMutableArray *arr1 = [[NSMutableArray alloc] init];//空数组

NSLog(@"%@",arr1);//结果为{ }

       

//空指针

NSMutableArray *arr2 = nil;

NSLog(@"%@",arr2);//结果为(null)

       

2、将@“20”@“30” @“40” 按顺序添加到数组中

添加的顺序:添加在数组的最后一个元素的位置上

[arr1 addObject:@"20"];

[arr1 addObject:@"30"];

[arr1 addObject:@"40"];

NSLog(@"%@",arr1);

       

3、插入 指定的位置

[arr1 insertObject:@"50" atIndex:2];

NSLog(@"%@",arr1);

       

4、交换元素位置

[arr1 exchangeObjectAtIndex:0 withObjectAtIndex:3];

NSLog(@"%@",arr1);

 

5、替换元素(类似C语言中,修改数组元素)

[arr1 replaceObjectAtIndex:1 withObject:@"60"];

或:arr1[1]= @"80";

NSLog(@"%@",arr1);

       

6、移除、删除元素

(1)根据下标移除

[arr1 removeObjectAtIndex:0];

NSLog(@"%@",arr1);

(2)根据对象移除

[arr1 removeObject:@"60"];

NSLog(@"%@",arr1);

(3)移除最后一个对象       

[arr1 removeLastObject];

NSLog(@"%@",arr1);

(4)移除全部对象

[arr1 removeAllObjects];

NSLog(@"%@",arr1);

 

6、使用for循环实现数组遍历

NSArray * arr =@[@"l", @"o", @"v", @"e"];

for (int i = 0; i< arr.count; i++) {

     NSLog(@"%@", arr[i]);

}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值