3、操作

数据常见的操作:增删改查 ,

增删改查:

查: 访问 (元素、子数组、索引)

删: 删除, 删除中间、第一个、最后一个,多个

改: 替换

增: 增加, 增加中间,第一个,最后一个,多个

1、访问

1.1、索引下标方式访问

1.2、访问最后/第一个元素

通过first/last访问

let firstFruit = fruits.first  // Optional("苹果")
let lastFruit = fruits.last    // Optional("橘子")

1.3、访问子数组

通过指定索引范围来访问数组的一个子集,使用下标语法来获取数组的子数组:

let fruits = ["苹果", "香蕉", "橘子", "草莓"]
let someFruits = fruits[1...2]  // 访问第二个和第三个元素 ["香蕉", "橘子"]

这里返回的子数组是 ArraySlice 类型,而不是标准的 Array。如果需要标准数组,可以将其转换为数组:

2、修改【替换】

2.1 基本的修改元素【索引方式】

2.2 修改多个元素

2.2.1、 通过for循环

2.2.2、使用下标并赋值【多个连续的元素】

3、增加

3.1 增加中间【插入】

insert( xx at:) 插入单个元素

insert(contentsOf: at:) 插入子数组

3.2 增加到末尾【添加】

append()

append(contentsOf:)

4、删除

4.1 删除元素:使用 remove(at:) 方法可以删除指定索引的元素:

4.2 删除最后元素

removeLast()

5、count数目

  • count:获取数组中的元素个数。

6、是否为空

  • isEmpty:检查数组是否为空。

7、 安全访问数组元素

为了避免数组越界访问,可以使用 optional 绑定的方式来安全地访问数组元素:

8、索引

8.1 、startIndex/endIndex第一个/最后一个索引

startIndex 对于数组来说永远都是0,

endIndex 返回最后一个元素索引的位置+1, 对于数组来说== count

如果数组为空,startIndex == endIndex

8.2、查找索引

firstIndex(of:)返回给定的元素在数组中出现的第一个位置(optional)

lastIndex(of:) 返回给定的元素在数组中出现的最后一个位置(optional)

firstIndex(where:)返回符合条件在数组中出现的第一个位置(optional)

lastIndex(where:) 返回复合条件在数组中出现的最后一个位置(optional)

9、获取索引区间 indices

获取数组索引的方式:

1、通过索引区间indices

2、通过enumerated()

3、通过count获取数量变量

10、判断是否包含指定元素

contains(_:) 判断数组是否包含指定元素

contains(where:) 判断数组是否包含符合条件的元素

11、判断所有元素符合某个条件

allSatisfy(_:) 判断数组的每个元素都符合给定的条件

12、最大、小元素

max() 最大元素

min() 最小元素

max(by:) 利用给定的方式比较并返回数组中最大的元素

min(by:) 利用给定的方式比较并返回数组中最小的元素

小结

  • 查/访问

    • 元素:使用索引访问元素。便利方式:first、last访问第一个和最后一个

    • 子数组:通过索引范围访问子数组。

  • 修改

    • 元素:使用索引修改可变数组的元素。【元素的长度不会变】

    • 子数组:

  • 增加

    • 添加:

      • 元素 append()

      • 子数组 append(contentsOf:)

    • 插入:

      • 元素 insert(xx, at:)

      • 子数组:insert(contentsOf: at:)

  • 删除

    • 元素:和 remove(at:) 方法。

    • 子数组

  • 索引

    • startIndex / of /where

    • endIndex / of /where

Last updated