一:数组的定义
OC :
有值数组NSArray *arr0 = @[@1, @2, @3];NSArray *arr1 = [NSArray arrayWithObjects:@1, @2, @3, nil];NSLog(@"%@", arr1);空数组NSArray *arr2 = @[];NSArray *arr3 = [NSArray array];NSLog(@"%@", arr3);不可变数组:NSArray可变数组:NSMutableArray
Swift:
//空数组var arr5 = []var arr6 = [Int]()var arr7 = Array ()//有值数组var arr0 = [1, 2, 3]var arr1: Array = [1, 2, 3]var arr2: Array = [1, 2, 3]// 如果想明确表示数组中存放的是不同类型的数据,可以忽略不写 ,也可以使用Any关键字, 表示数组中可以存放不同类型的数据var arr10:Array = [1,"2h",11]var arr11:Array= [1, "lnj", 1.75]
二:数组的操作
1,获取数组长度
OC:NSArray *arr = @[@1, @2, @3];NSLog(@"%tu", arr.count);swift:var arr12 = [1, 2, 3]print(arr12.count)
2,判断是否为空
OC:NSArray *arr = @[];NSLog(@"%d", arr.count != 0);swift:var arr13 = [1, 2, 3]print(arr13.isEmpty)
3,检索
OC:NSArray *arr = @[@1, @2, @3];NSLog(@"%@", arr[0]);swift:var arr14 = [1, 2, 3]print(arr14[0]) //下标从零开始
4,数组添加元素
OC:NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];[arr addObject:@4];NSLog(@"%@", arr);swift:var arr15 = [1, 2, 3]arr15.append(4) //或者arr15 +=[23]print(arr15)
5,插值,更新
OC:NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];[arr insertObject:@4 atIndex:0]; //这样也可以 arr[0] = @8;NSLog(@"%@", arr);NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];NSRange range = NSMakeRange(0, 2);swift:var arr17 = [1, 2, 3]arr17.insert(4, atIndex: 0); // 利用下表也可以改变值 arr18[0] = 8print(arr18)var arr = [1, 2, 3]arr.replaceRange(1..<2, with: [99, 88, 77, 66])//在半区间[1..<2]用[12,3,3,1,2]代替print(arr)
6,删除
OC:NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];[arr removeObject:@1];//根据元素删除NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];[arr removeLastObject];//删除尾值NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];[arr removeAllObjects];//删除所有元素NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];[arr removeObjectsInRange:NSMakeRange(0, 2)];swift:var arr19 = [1, 2, 3]arr19.removeAtIndex(0)//根据下标删除var arr20 = [1, 2, 3]arr20.removeLast()var arr22 = [1, 2, 3]arr22.removeRange(Range(start: 1, end: 2))print(arr22)var arr23 = [1, 2, 3]arr23.removeRange(0...0)print(arr23)
7,遍历
OC:NSArray *arr = @[@1, @2, @3];for (int i = 0; i < arr.count; i++) { NSLog(@"%@", arr[i]);}for (NSNumber *number in arr) { NSLog(@"%@", number);}swift:var arr1 = [1, 2, 3]for var i = 0 ; i < arr1.count ; i++{ print(arr1[i])}for number in arr1{ print(number)}for i in 0..