1. 数组只能存放对象类型的数据
2. 数组的对象是有序的
1).//NSArray : NSObject 不可变数组 (不可以插入 删除 修改)
作用: 容器类 存放的是对象类型的数据
创建方法:
//创建数组 并且存入一些对象 , 对象之间用 " , "隔开 以nil 结尾
NSArray * array1 = [[ NSArray alloc ] initWithObjects : @"zhangsan" , @"lisi" , @"chenhao" , @"laowang" , @"陈皋政" , nil ];
NSLog ( @"arr ======%@" ,array1);
//也可以通过array 类中的加号方法
NSArray * arr2 = [ NSArray arrayWithObjects : @"ha" , @"hei" , @"A" , nil ];
//字面量方式创建数组 是不可变数组
NSArray * arr3 = @[ @"aa" , @"bb" , @"cc" , @"dd" ];
//注意: 数组中元素的个数 最大索引值 arr.count -1 (注意数组越界)
2). NSMutableArray : NSArray 可变数组 (可以增删改插等操作);
创建方法:
NSMutableArray * arr = [[ NSMutableArray alloc ] initWithCapacity :0];
添加对象: [arr addObject : @"陈皋政 " ];
删除对象: [arr removeObject : @"yifu" ];
删除某个索引下的对象: [arr removeObjectAtIndex :1];
删除所有对象: [arr removeLastObject ];
在某个索引下插入对象: [arr insertObject : @"huairen" atIndex :1];
替换某个索引对象: [arr replaceObjectAtIndex :1 withObject : @"kuzi" ];
//注意: 将不可变数组 转换成可变数组
// + (instancetype)arrayWithArray:(NSArray *)array; 是NSArray 的方法
NSMutableArray * arr1 = [ NSMutableArray arrayWithArray :array1];
补充: 将基本数据类型 存入数组的处理方式 :
1. 格式化字符串
NSString *str = [ NSString stringWithFormat : @"%d" ,i];
[arr addObject :str];
2. 转换成数字类新对象型数据
//NSNumber : NSValue : NSObject 数字类
//将整形数据转换成NSNumber对象类型的数据
NSNumber * number = [NSNumber numberWithInt:i];
[arr addObject : number ];
补充 2 :
遍历数组 :
方法1 :
for ( int i = 0 ; i < arr. count - 1 ; i ++) {
NSNumber * number = arr[i];
int number1 = [number intValue ];
}
方法2 : 快遍历 (泛型遍历)
for ( NSNumber *number in arr) {
2. 数组的对象是有序的
1).//NSArray : NSObject 不可变数组 (不可以插入 删除 修改)
作用: 容器类 存放的是对象类型的数据
创建方法:
//创建数组 并且存入一些对象 , 对象之间用 " , "隔开 以nil 结尾
NSArray * array1 = [[ NSArray alloc ] initWithObjects : @"zhangsan" , @"lisi" , @"chenhao" , @"laowang" , @"陈皋政" , nil ];
NSLog ( @"arr ======%@" ,array1);
//也可以通过array 类中的加号方法
NSArray * arr2 = [ NSArray arrayWithObjects : @"ha" , @"hei" , @"A" , nil ];
//字面量方式创建数组 是不可变数组
NSArray * arr3 = @[ @"aa" , @"bb" , @"cc" , @"dd" ];
//注意: 数组中元素的个数 最大索引值 arr.count -1 (注意数组越界)
2). NSMutableArray : NSArray 可变数组 (可以增删改插等操作);
创建方法:
NSMutableArray * arr = [[ NSMutableArray alloc ] initWithCapacity :0];
添加对象: [arr addObject : @"陈皋政 " ];
删除对象: [arr removeObject : @"yifu" ];
删除某个索引下的对象: [arr removeObjectAtIndex :1];
删除所有对象: [arr removeLastObject ];
在某个索引下插入对象: [arr insertObject : @"huairen" atIndex :1];
替换某个索引对象: [arr replaceObjectAtIndex :1 withObject : @"kuzi" ];
//注意: 将不可变数组 转换成可变数组
// + (instancetype)arrayWithArray:(NSArray *)array; 是NSArray 的方法
NSMutableArray * arr1 = [ NSMutableArray arrayWithArray :array1];
补充: 将基本数据类型 存入数组的处理方式 :
1. 格式化字符串
NSString *str = [ NSString stringWithFormat : @"%d" ,i];
[arr addObject :str];
2. 转换成数字类新对象型数据
//NSNumber : NSValue : NSObject 数字类
//将整形数据转换成NSNumber对象类型的数据
NSNumber * number = [NSNumber numberWithInt:i];
[arr addObject : number ];
补充 2 :
遍历数组 :
方法1 :
for ( int i = 0 ; i < arr. count - 1 ; i ++) {
NSNumber * number = arr[i];
int number1 = [number intValue ];
}
方法2 : 快遍历 (泛型遍历)
for ( NSNumber *number in arr) {
}