数组
数组是有序、内容可重复、类型一致的
隐式声明:编译器自动推断类型
显示声明:需要将类型声明
数组声明与属性
//隐式声明 编译器自动推断类型 无需声明类型
var a = [1, 2, 3]
var b = ["a", "b", "c"]
var c = [true, false]
var d = [1.0, 2.0]
print(a, b, c, d)
//显式声明 将类型声明
var a1: Array<Int> = [1, 2, 3]
var b1: Array<String> = ["a", "b", "c"]
var c1: Array<Bool> = [true, false]
var d1: Array<Double> = [1.0, 2.0]
print(a1, b1, c1, d1)
//函数声明
var a2 = Array<Int>() //空数组
var a3 = Array<Int>([1, 2, 3]) //传入默认值
var a4 = Array(1...9) //区间声明
print(a2, a3, a4)
//使用repeating: count创建数组
var a5 = Array(repeating: "A", count:10) //重复10次创建A字符串
print(a5)
//数组有两个属性
print(a5.count) //数组元素有多少个
print(a5.isEmpty) //数组元素是否为空
数组访问
//数组元素访问 - 索引
var array = ["A", "B", "C"]
print(aray[1]) //输出结果为 B
//区间访问元素 Swift学习笔记-(一)中提到的区间运算符
print(array[0...2]) //访问索引0 到 2的元素
数组遍历
//数组遍历
var b = ["a", "b", "c"]
for item in b {
print("数组元素\(item)") // 字符串插值
//print("数组元素"+item) //字符串拼接方式
}
//数组遍历带索引的方法
for (index, item) in b.enumerated() {
print("数组元素\(item)+"元素索引"\(index)") // 字符串插值
}
数组追加元素
//数组追加元素
var array = [1, 2, 3]
print(array.randomElement() ?? "") //随机元素
//数组元素追加
array.append(4)
print(array) //输出结果 1, 2, 3, 4
//数组元素批量追加 append下contentsOf 方法
array.append(contentsOf:[5, 6, 7, 8])
print(array) //输出结果1, 2, 3, 4, 5, 6, 7, 8
//运算符添加数组
array += [9, 10]
print(array) //输出结果1, 2, 3, 4, 5, 6, 7, 8, 9, 10
数组插入
//数组插入(单个元素)
var array = ["A", "B"]
array.insert("C", at: 1)
print(array) // 输出结果 A,C,B
//数组插入(多个元素)
array.insert(contentOf:["D", "E"], at: 0)
print(array) //输出结果 D, E, A, C, B
数组替换
//数组替换
var array = [1, 2, 3]
array.replaceSubrange(1, with:[1]) //插入一个元素
print(array) //输出结果 1, 1, 3
插入多个元素
array.replaceSubrange(contentsOf:[4, 5, 6], at: 2)
print(array) //输出结果1,1,4,5,6,3
数组删除
//数组删除元素
/**
*使用remove(at:)方法删除指定索引元素
*使用removeFirst()方法删除第一个元素
*使用removeLast()方法删除最后一个元素
*使用removeSubrange()方法删除指定区间的元素 例:removeSubrange(1...3)
*使用removeAll()方法删除全部元素
*/
var array = [1, 2, 3]
array.remove(at :0)
print(array) //输出结果 2, 3
array.removeFirst()
print(array) //输出结果 3 因为array.remove(at :0)已经对数组操作过一次
数组查找元素
//数组查找
/**
* 包含:contains()方法
* first(where:{$0...2}) 条件语句查询到第一个目标符合条件的元素后 立即停止遍历
* firstIndex(where:{$0...2}) 条件语句查询到第一个目标符合条件的元素索引后 立即停止遍历
* last 查询最后一个元素
*. lastIndex 查询最后一个元素索引
*/
var array = [1, 2, 3, 4]
print(array.contains(1)) //输出结果是否包含1 结果:true
print(array.min()) //最小值
print(array.max()) //最大值
first底层实现结构

数组的变换
map函数是一个闭包函数,他不会对现有的集合做任何修改,只遍历当前集合并更具条件对每个元素转换再生成一个新的集合
//数组变换-字符串小写
/**
* .lowercased() //改为小写
* .uppercased() //改为大写
*/
let array = ["Ding", "Wang", "Li"]
var array1 = array.map{
$0.lowercased()
}
print(array1) //输出结果["ding", "wang", li]
如有错误请各位大佬指点,希望结交更多大佬和各位学习
1907

被折叠的 条评论
为什么被折叠?



