zoukankan      html  css  js  c++  java
  • 数组NSArray与NSMutableArray的常用方法

    数组中可以放任何类型的数据,并且一个数组中的元素类型可以不一致。只要是(id类型)对象。

    NSArray

    1、初始化

    NSArray *array = @[@"123", @"456", @2];

    2、初始化,最后需要以nil结尾

    NSArray *array = [[NSArray alloc] initWithObjects:@"123", @"456", nil];

    3、初始化,使用一个数组初始化另一个数组

    NSArray *array = [[NSArray alloc] initWithArray:@[@"123"]];

    4、初始化,类方法,最后需要以nil结尾

    NSArray *array = [NSArray arrayWithObjects:@"-", @"+", @"=", nil];

    5、拼接,将一个新对象拼接在数组的后面,拼接后返回新的数组

    NSArray *array1 = @[@"123", @"456"];
    NSArray *array2 = [array1 arrayByAddingObject:@"789"];

    6、拼接,将另个数组中的所有对象,拼接到数组后面,拼接后返回新的数组

    NSArray *array1 = @[@"123", @"456"];
    NSArray *array2 = [array1 arrayByAddingObjectsFromArray:array1];

    7、连接,以某个连接符(字符串)连接数组中所有的对象,然后以字符串返回连接后的结果

    NSArray *array = @[@"123", @"456"];
    NSString *string = [array componentsJoinedByString:@"*"];
    //一般只用于数组元素全部为字符串类型的数组

    8、根据索引提取相应的元素

    NSArray *array = @[@"123", @"456", @2];
    NSString *string = [array objectAtIndex:1];

    9、根据数组的元素得到对应的索引

    NSArray *array = @[@"123", @"456"];
    NSUInteger integer = [array indexOfObject:@"123"];

    10、取首尾元素

    NSArray *array = @[@"123", @"456"];
    NSString *firstString = [array firstObject];
    NSString *lastString = [array lastObject];
    NSInteger count = [array count];
    //当count = 1时,firstObject和objectAtIndex:0取出的是相同的对象。
    //当count = 0时,firstObject取出的是null,objectAtIndex:1会使得程序异常退出(越界访问)。

    11、使用自定义的OC数组排序函数,将数组元素进行排序

    NSInteger comp(id objc1, id objc2, void *p) {
        // -1升序,不交换元素
        // 0相等,不交换元素
        // 1降序,交换元素
        if ([objc1 compare:objc2] == 1) {
            return 1;
        }else {
            return 0;
        }
    }
    NSArray *array1 = @[@"123", @"456"];
    NSArray *array2 = [array1 sortedArrayUsingFunction:comp context:nil];

    NSMutableArray

    1、初始化

    NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil];

    2、根据索引号(不可越界)插入元素。返回void

    NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil];
    [mArray insertObject:@"123" atIndex:0];

    3、添加元素。返回void

    NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil];
    [mArray addObject:@9];

    4、匹配并删除元素。返回void

     NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", @"2", nil];
     [mArray removeObject:@"2"];
     // 一次性把两个@"2"都删除

    5、根据range删除元素。返回void

    NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", @"2", nil];
    NSRange range = {0, 2};
    [mArray removeObject:@"2" inRange:range];

    6、删除所有元素

    NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil];
    [mArray removeAllObjects];

    7、根据索引移除元素。返回void

    NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil];
    [mArray removeObjectAtIndex:2];

    8、根据索引替换元素。返回void

    NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil];
    [mArray replaceObjectAtIndex:0 withObject:@"123"];

    9、交换元素。返回void

    NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil];
    [mArray exchangeObjectAtIndex:0 withObjectAtIndex:2];
  • 相关阅读:
    Shodan新手入坑指南
    linux 下查看网卡工作速率
    centos关闭ipv6
    springBoot----@ConditionalOnxxx相关注解总结
    ElasticSearch Root身份运行
    CentOS6 Install kafka
    CentOS 7 中firewall-cmd命令
    sensu
    metrics+spring+influxdb
    SpringBoot(十二):SpringBoot整合Kafka
  • 原文地址:https://www.cnblogs.com/cchHers/p/8910235.html
Copyright © 2011-2022 走看看