OC-集合类(数组)

来源:互联网 发布:源码商城 编辑:程序博客网 时间:2024/05/20 03:05
   //oc 中的数组是一个大容器,数组可以存放不同类型的对象,且只能保存对象;   //oc数组提供了两类数组 NSArray(不可变数组)   NSMtableArray(可变数组)    //可变与不可变的区别:可变就意味着对原有的对象进行增删改操作,而不可变就意味着数组一经创建就不能在修改; 1.数组(一)初始化数组(不可变数组) NSArray *array = [[NSArray alloc] initWithObjects:@"aaa", @"bbb", @"ccc",  nil];//正常初始化一个数组NSArray *array1 = [[NSArray alloc] initWithArray:array];//根据一个数组初始化一个数组NSArray *array4 = [NSArray arrayWithObject:@"p"];//初始化一个元素NSArray *array5 = @[@"1", @"2", @"3"];//字面量创建数组(常用)

一些常用属性

  1 获取数组的元素个数    NSLog(@"%lu", array5.count);  2.获取数组中的元素 //    1)给定位置获取元素    NSLog(@"%@", [array5 objectAtIndex:1]);//    2)第一个元素    NSLog(@"%@", [array5 firstObject]);//    3)最后一个元素    NSLog(@"%@", [array5 lastObject]);//    4 根据元素获取元素在数组中对应的索引(下标)//    在未找到的情况下返回随机的一个数    NSLog(@"%ld", [array5 indexOfObject:@"1"]);//    5 判断数组中是否包含某一个给定的对象    if ([array5 containsObject:@"1"]) {        NSLog(@"存在");    } else {        NSLog(@"不存在");    }//两个转换(重点) //    数组转字符串    NSArray *arr = @[@"1111", @"2222", @"3333"];  NSString *str = [arr componentsJoinedByString:@"$"]; //   字符串转数组 NSLog(@"%@", [str componentsSeparatedByString:@"$"]);(二) 可变数组(继承与不可变数组, 初始化方法相同)  1.初始化一个可变数组     1. 初始化方法    NSMutableArray *MutableArr  = [[NSMutableArray alloc] initWithObjects:@"aa", @"ss", @"cc", nil];     2.添加元素//    直接向后面追加对象    [MutableArr addObject:@"2"];    //    通过数组添加    [MutableArr addObjectsFromArray:array5];    3.删除元素//    1)删除单个元素    [MutableArr removeObject:@"2"];    NSLog(@"%@", MutableArr);//只要有匹配对象就删除掉//    2)删除所有元素//    [MutableArr removeAllObjects];//    6.插入元素    [MutableArr insertObject:@"qqq" atIndex:2];//    ar insertObjects:<#(nonnull NSArray *)#> atIndexes:<#(nonnull NSIndexSet *)#>批量插入?//    7. 交换指定位置的两个元素[MutableArr exchangeObjectAtIndex:0 withObjectAtIndex:2];//    8. 替换元素[MutableArr replaceObjectAtIndex:0 withObject:@"www"];
原创粉丝点击