数组分为:Array 和NSArray(NSMutableArray) 两种类型
NSArray(NSMutableArray): 基于 Foundation框架里的,不是Swift的也不是OC的,NSArray和NSMutableArray的区别就是后者是可变数组,可以添加和删除元素,一个数组可以存储多种任意类型的对象,并且只能存储对象类型
Array: swift的Array不存在可变不可变的问题,对象类型声明为var就是可变,let就是不可变,一个数组只能存储一种特定的元素类型,也就是说数组在定义的时候必须指明数组的类型,通过显式的类型标注或类型推断,不仅能存对象类型还能存储像Int这种基本类型
var ageArrays = [1,2,3,4]
var height = Array<Int>()//定义一个可以放 Any 类型的数组
print(ageArrays.isEmpty) //判断数组是否为空
print(ageArrays.contains(3)) //判断数组是否包含元素 3
print(ageArrays.append(5)) //在数组最后面添加 5
print(ageArrays.insert(6, at: 4)) //在序号为4的地方插入 6
print(ageArrays[2...4] = [8,8,8]) //同时修好序号为 2,3,4 的值
print(ageArrays.removeFirst()) //删除第一个是元素
print(ageArrays.removeLast()) //删除最后一个元素
print(ageArrays.removeSubrange(Range(1..<3))) //删除序号为 1,2 的元素
print(ageArrays.removeAll()) //删除所有元素
height = [156,155,189,178,170]
height.sort(){return $0 > $1}//从大到小排列
height.sort(){return $0 < $1}//从小到大排列
print(height)
// 对于复杂的数组,也可以使用 sort函数 进行排序
var userList = [(name:"xiaoQiang",age:"20"),(name:"liHua",age:"32"),(name:"xiaoHua",age:"2"),(name:"Sanxiao",age:"12")]
userList.sort(){return $0.name < $1.name}//对元素中的名字进行降序排序,一般用在城市列表,联系人等地方
print(userList)
// 多维数组
var numbers = [[1,2,3,4],[5,6,7,8]]
print(numbers[1][3]) //取序号为 1 里面序号为3的元素的值
//如果我们同时需要每个数据项的值和索引值,可以使用 enumerated() 方法来进行数组遍历
for (index, value) in numbers.enumerated() {
print("Item \(String(index + 1)): \(value)")
}
网友评论