【转载】Objective-C中NSArray和NSMutableArray的基本用法

  1. /*---------------------NSArray---------------------------*/  
  2.        //创建数组  
  3.        NSArray *array1 = [NSArray arrayWithObject:@"1"];  
  4.        NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];  
  5.        NSArray *array3 = [NSArray arrayWithArray:array2];  
  6.        NSLog(@"array1 = %@",array1);  
  7.        NSLog(@"array2 = %@",array2);  
  8.        NSLog(@"array3 = %@",array3);  
  9.          
  10.        //获取数组内数据个数  
  11.        int count = [array2 count];  
  12.        NSLog(@"array2 size is %d",count);  
  13.          
  14.        //访问数组内的数据  
  15.        NSString *str1 = [array2 objectAtIndex:0];  
  16.        NSLog(@"array2 first content is %@",str1);  
  17.          
  18.        //数组中插入数据   返回新的数组  
  19.        NSArray *array4 = [array3 arrayByAddingObject:@"4"];  
  20.        NSLog(@"array4 = %@",array4);  
  21.          
  22.        //数组内的数据以制定字符连接  
  23.        NSString *str2 = [array4 componentsJoinedByString:@","];  
  24.        NSLog(@"str2 = %@",str2);  
  25.          
  26.        //判断数组中是否包含某对象  
  27.        BOOL b1 = [array4 containsObject:@"4"];  
  28.        BOOL b2 = [array4 containsObject:@"5"];  
  29.        NSLog(@"b1 = %d,b2 = %d",b1,b2);  
  30.          
  31.        //取数组内制定对象的索引  
  32.        int index = [array4 indexOfObject:@"4"];  
  33.        NSLog(@"index = %d",index);  
  34.          
  35.        NSString *str3 = [array4 lastObject];  
  36.        NSLog(@"array4 last object is %@",str3);  
  37.          
  38.        /*-----------------------可变数组NSMutableArray-----------------------------------------*/  
  39.        //初始化数组 指定数组长度   但可变  
  40.        NSMutableArray *mArray1 = [NSMutableArray arrayWithCapacity:5];  
  41.          
  42.        //向数组中添加元素  
  43.        [mArray1 addObject:@"aaaa"];  
  44.        [mArray1 addObject:@"cccc"];  
  45.        NSLog(@"mArray1 = %@",mArray1);  
  46.          
  47.        //向指定位置插入元素  
  48.        [mArray1 insertObject:@"bbbb" atIndex:1];  
  49.        [mArray1 insertObject:@"dddd" atIndex:[mArray1 count]];  
  50.        [mArray1 insertObject:@"eeee" atIndex:[mArray1 count]];  
  51.        NSLog(@"mArray1 = %@",mArray1);  
  52.          
  53.        //移除元素  
  54.        [mArray1 removeObject:@"eeee"];  
  55.        NSLog(@"mArray1 = %@",mArray1);  
  56.        [mArray1 removeObjectAtIndex:[mArray1 count]-1];  
  57.        NSLog(@"mArray1 = %@",mArray1);  
  58.        NSArray *array5 = [NSArray arrayWithObjects:@"bbbb",@"cccc", nil];  
  59.        [mArray1 removeObjectsInArray:array5];  
  60.        NSLog(@"mArray1 = %@",mArray1);  
  61.          
  62.        //向数组内插入数组  
  63.        NSMutableArray *mArray2 = [NSMutableArray arrayWithObjects:@"aaaa",@"aaaa", nil];  
  64.        [mArray2 addObject:@"bbbb"];  
  65.        NSLog(@"mArray2 = %@",mArray2);  
  66.        [mArray2 addObjectsFromArray:array4];  
  67.        NSLog(@"mArray2 = %@",mArray2);  
  68.          
  69.        //替换元素  
  70.        [mArray2 replaceObjectAtIndex:[mArray2 count]-1 withObject:@"5"];  
  71.        NSLog(@"mArray2 = %@",mArray2);  
  72.          
  73.        //遍历数组  常规方法:性能较低  
  74.        NSArray *array6 = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e", nil];  
  75.        int len = [array6 count];  
  76.        for (int i=0; i<len; i++) {  
  77.            NSString *value = [array6 objectAtIndex:i];  
  78.            NSLog(@"array6 %d content is %@",i,value);  
  79.        }  
  80.          
  81.        //枚举遍历  相当于java中的增强for循环  
  82.        for (NSString *string in array6) {  
  83.            NSLog(@"array6 content is %@",string);  
  84.        }  
  85.          
  86.        NSLog(@"-----------------------");  
  87.          
  88.        //当不确定数组元素类型时  
  89.        for(id string in array6){  
  90.            NSLog(@"array6 content is %@",string);  
  91.        }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值