OC基础 可变数组与不可变数组的使用

时间:2021-09-18 06:08:02

OC基础 可变数组与不可变数组的使用

1.不可变数组

1.1不可变数组的创建

        //实例方法
NSArray *array = [[NSArray alloc] initWithObjects:@"",@"",@"", nil];
NSLog(@"%@",array);
//类方法
NSArray *array1 = [NSArray arrayWithObjects:@"",@"",@"", nil]; //实例方法
NSArray *array2 = [[NSArray alloc] initWithArray:array];
NSLog(@"%@",array2);

NSArray *array3 = [NSArray arrayWithArray:array2];

1.2不可变数组的常用操作

        //获取元素的个数
NSInteger count = [array count];
//获取数组某一个位置的元素
NSString *str = [array objectAtIndex:];
//获取某个元素在数组里面的索引(位置)
NSInteger index = [array indexOfObject:@""];
NSLog(@"%ld",index); //判断数组中是否包含某个元素
BOOL b = [array containsObject:@""];
//获取数组的最后一个元素
NSString *str2 = [array lastObject];
//以“-”将数组元素拼接成字符串
NSString *str3 = [array componentsJoinedByString:@"-"]; //数组的的遍历
for(int i = ;i<[array count];i++)
{
NSString *str = [array objectAtIndex:i];
NSLog(@"%@",str);
}
//for in
for(NSString *str in array)
{
NSLog(@"%@",str);
} //数组的嵌套
NSArray *array4 = [NSArray arrayWithObjects:array,array1,array2,array3, nil];
NSLog(@"%@",array4); //嵌套数组的遍历
//NSArray *array = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];
for(NSArray *arr in array4)
{
for(NSString *str in arr)
{
NSLog(@"%@",str);
}
}

2.可变数组

2.1可变数组的创建

        //可变数组的创建
NSMutableArray *muArr = [[NSMutableArray alloc] initWithObjects:@"",@"",@"", nil];
NSMutableArray *muArr1 = [[NSMutableArray alloc] initWithArray:muArr];
NSMutableArray *muArr2 = [NSMutableArray array];

2.2可变数组的常用操作

        //可变数组添加元素
//追加一个元素
[muArr addObject:@""];
//追加一组元素
[muArr addObjectsFromArray:muArr1];
NSLog(@"%@",muArr);
//在指定位置插入元素
[muArr insertObject:@"" atIndex:]; //可变数组删除元素
//删除最后一个元素
[muArr removeLastObject];
//删除指定位置的元素
[muArr removeObjectAtIndex:];
NSLog(@"%@",muArr);
//删除指定元素
[muArr removeObject:@""];
NSLog(@"%@",muArr);
//删除所有元素
[muArr removeAllObjects];
NSLog(@"%@",muArr); //数组置空
//muArr = nil;
//NSLog(@"%@",muArr); [muArr addObjectsFromArray:muArr1];
//@"1",@"2",@"3"
//删除指定范围内的指定元素
[muArr removeObject:@"" inRange:NSMakeRange(, )];
//根据指定的数组来删除元素
NSArray *array = [NSArray arrayWithObjects:@"",@"", nil];
[muArr removeObjectsInArray:array];
NSLog(@"%@",muArr);
//删除指定范围内的所有元素
[muArr removeObjectsInRange:NSMakeRange(, )]; //可变字符串的修改
[muArr setArray:array];
NSLog(@"%@",muArr); //替换某个位置的元素
[muArr replaceObjectAtIndex: withObject:@""];
//交换2个元素的位置
[muArr exchangeObjectAtIndex: withObjectAtIndex:];
        NSMutableArray *muArray = [[NSMutableArray alloc] initWithObjects:@"联通3GNET",@"移动3GCMNET",@"电信4GCTLTE",@"电信3GCTNET",@"联通4GWONET", nil];
[muArray sortUsingSelector:@selector(compare:)];
NSLog(@"%@",muArray);

2.3简单的创建数组

 NSArray *array = @[@"",@"",@""];
NSLog(@"array = %@",array);