oc中的有序集合NSArray与NSMutableArray
NSArray与NSMutableArray都是有序的集合,但是对于NSArray来说:数组是不可变的但是可以通过arrayByAddingObject等方法往一个数组后面进行追加对象。而NSMutableArray则是一个可变的数组集合可以往固定位置添加对象。以下代码说明:NSArray
NSArray *array7 = [array1 arrayByAddingObject:@"4"];
//往数组中添加对象
NSArray *array8 = [array1 arrayByAddingObjectsFromArray:array3] ;//往数组中添加一个数组
NSMutableArray:
NSMutableArray *mutableArray1 = [[NSMutableArray alloc] init];
// 新增
[mutableArray1 addObject:@"1"];
[mutableArray1 addObjectsFromArray:array1];
// 插入
[mutableArray1 insertObject:@"5" atIndex:0];// 删除某个范围内的指定对象
[mutableArray1 removeObject:@"1" inRange:NSMakeRange(0, 1)];
// 删除全部元素
[mutableArray1 removeAllObjects];OC中的数组与java中的数组进行比较,oc中的数组存放的内容是对象,不能进行对基本类型数据进行存放,但是oc中的一个数组对象可以存放不同类型的对象,而java中的数组可以存放基本的数据类型。oc中如果想对基本类型数据进行存放的话需要把其转换成对象进行存放。转换的方法有:NSNumber,NSString。
// 转成number
NSNumber *number1 = [NSNumber numberWithInt:3];
NSNumber *number2 = [NSNumber numberWithFloat:3.0];
int a = 3;
float b = 3.0;
NSNumber *number5 = @(a);
NSNumber *number6 = @(b);
//转换成NSString可用InitWithFormat
NSString *str = [[NSString alloc] initWithFormat:@"%d",10];注意在NSMutableArray继承于NSArray 虽然NSMutableArray是可变的但是其依然可以使用NSArray中的方法。
- NSArray中取长度的方法与NSString中的方法不同,NSString中的长度是NSString中的一个只读属性length。而NSArray中则是count ,通过调用方法得到其长度。
string.length array.count