zoukankan      html  css  js  c++  java
  • 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.        } 
  • 相关阅读:
    D2. Remove the Substring (hard version)(思维 )
    暑假集训
    AcWing:167. 木棒(dfs + 剪枝)
    AcWing:109. 天才ACM(倍增 + 归并排序)
    AcWing:99. 激光炸弹(前缀和)
    B. Interesting Array(线段树)
    Best Reward HDU
    G. Swapping Places
    How many HDU
    GSS4&&花仔游历各国
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4971915.html
Copyright © 2011-2022 走看看