数组类常用操作方法

作者: 雾中探雪 | 来源:发表于2015-11-06 18:05 被阅读227次

一、数组

 *  OC数组中的成员是有序的,索引从0开始
 *  数组中存储的都是对象,对象不分类型(基本数据类型不能存放)
 *  数组分为可变数组和不可变数组

二、不可变数组(NSArray)

//  创建不可变数组
NSArray *array1 = [NSArray arrayWithObject:@"hello"];
NSLog(@"%@", array1);

//  在创建有多个元素的数组,需要在元素的结尾处,且只能在结尾处添加一个nil对象,表示数组元素到此结束
NSArray *array2 = [NSArray arrayWithObjects:@"hello", @"world", @"中文", nil];
NSLog(@"%@", array2);

//  如果数组中某个元素在创建时不能确定,我们可以使用NSNull对象来占位。
NSArray *array3 = [NSArray arrayWithObjects:@"hello",[NSNull null] ,@"world", nil];
NSLog(@"%@", array3);

三、不可变数组的操作

    //  获取数组元素的个数
   int a = (int)[array3 count];
    NSLog(@"%d", a);

    //  获取某个索引值位置的元素
    //  因为不能确定获取到的元素是属于哪个类,所以在定义对象时必须是泛型。instancetype只能用在方法的返回值部分,来确保返回值的类型安全,不能够用在这里声明一个对象,在这里需要用id
    id temp = [array3 objectAtIndex:2];
    NSLog(@"%@", temp);
    
    //  获取某个对象在元素中的索引,如果这个对象不在数组中,则返回一个负数
    int index = (int)[array3 indexOfObject:@"m"];
    NSLog(@"%d", index);
    //  遍历数组
    for (int i = 0; i < [array3 count]; i++) {
        id obiect = [array3 objectAtIndex:i];
        NSLog(@"%@", obiect);
    }

四、可变数组(NSMutableArray)的操作

    //  创建一个数组
    NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4", nil];
    //  添加一个新元素(按顺序添加)
    [mArray addObject:@"5"];
    NSLog(@"%@", mArray);
    
    //  插入一个新元素,到指定位置
    [mArray insertObject:@"12" atIndex:2];
    NSLog(@"%@", mArray);
    
    //  交换两个元素的位置
    [mArray exchangeObjectAtIndex:3 withObjectAtIndex:4];
    NSLog(@"%@", mArray);
    
    //  替换某个元素
    [mArray replaceObjectAtIndex:3 withObject:@"您好"];
    NSLog(@"%@", mArray);
    
    //  删除元素
    //  根据下标删除元素
    [mArray removeObjectAtIndex:1];
    NSLog(@"%@", mArray);
    
    //  直接删除指定对象
    [mArray removeObject:@"您好"];
    NSLog(@"%@", mArray);
    
    //  删除最后一个元素
    [mArray removeLastObject];
    NSLog(@"%@", mArray);
    
    //  删除全部元素
    [mArray removeAllObjects];
    NSLog(@"%@", mArray);

相关文章

网友评论

    本文标题:数组类常用操作方法

    本文链接:https://www.haomeiwen.com/subject/dcechttx.html