//: Playground - noun: a place where people can play
import UIKit
/*
定义数组
OC里: NSArray *arr = @[@1,@2,@3];
NSAarray *arr2 = [NSArray arrayWithObjects:@1,@2,@3,nil];
OC里的空数组:
NSArray *arr3 = @[] 或 NSArray *arr4 = [NSArray array];
*/
// Swift里定义 有值数组
var arr0 = [1,2,3]
var arr1:Array = [1,2,3]
var arr2:Array<Int> = [1,2,3]
var arr3:[Int] = [1,2,3]
// 空数组
var arr5 = []
var arr6 = [Int]()
var arr7 = Array<Int>()
// 如果想明确表示数组中存放的不同类型的数据
var arr11:Array<Any> = [1,"jack",99.0]
/**
数组常用操作
*/
// 1.获取长度
var arr12 = [1,2,3]
print(arr12.count) //"3\n"
// 2.判断是否为空
print(arr12.isEmpty) //"false\n"
// 3.往数组末尾追加一个元素
/*
OC:
NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];
[arr addObject:@4]
*/
var arr15 = [1,2,3]
arr15.append(5)
print(arr15) //"[1, 2, 3, 5]\n"
// 4.插入
/*
OC:
NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];
[arr insertObject:@4 atIndex:0];
*/
var arr17 = [1,2,3]
arr17.insert(4, atIndex: 0) //[4, 1, 2, 3]
// 5.删除
/*
NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];
[arr removeObject:@1];
[arr removeLastObject];
[arr removeAllObjects];
*/
var arr19 = [1, 2, 3]
arr19.removeAtIndex(0) //1
print(arr19) //"[2, 3]\n"
arr19.removeLast() //删除数组最后一个元素
arr19.removeAll(keepCapacity: false) //是否保持容量, 如果为true, 即便删除了容量依然存在, 容量是2的倍数
print(arr19.capacity) // 查看数组容量
// 6.范围range
/*
OC:
NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1, @2, @3, nil];
[arr removeObjectsInRange:NSMakeRange(0, 2)];
NSLog(@"%@", arr);
*/
var arr22 = [1,2,3]
arr22.removeRange(0...1)
print(arr22) // "[3]\n"