Swift集合类

2019-10-08  本文已影响0人  Rathen

创建数组

字面量创建
let array = [1, 2, 3, 4]
字面量创建空数组
var array: [Int] = []
初始化器

使用初始化器有两种方式

var array = [String]()
var array1 = Array<String>()
初始化器参数
let array = Array(repeating: "z", count: 10)
let numbers = [Int](0...7)
print(numbers)
let persons = ["zhangsan": 3, "lisi": 4]
let names = [String](persons.keys)
print(names)

数组遍历和索引

数组遍历
索引

数组的查找操作

判断是否包含指定元素
判断所有元素符合某个条件
查找元素
查找最大最小元素

数组添加和删除

在末尾添加
在任意位置插入
字符串也是 Collection

字符串也是 Collection ,Element 是 Character 类型。

移除单个元素
移除多个元素

ArraySlice

移除多个元素
通过 Drop 得到 ArraySlice
通过 prefix 得到 ArraySlice
通过 suffix 得到 ArraySlice
通过 Range 得到 ArraySlice
ArraySlice 转为 Array

ArraySlice 无法直接赋值给一个 Array 的常量或变量,需要使用 Array(slice) 。

ArraySlice 和原 Array 相互独立

ArraySlice 和原 Array 是相互独立的,它们添加删除元素不会影响对方

重排操作

数组元素的随机化
数组的逆序
数组的分组
数组的排序
交换数组两个元素

拼接操作

字符串数组拼接
元素为 Sequence 数组的拼接

Set

Set 的概念

Set 是指具有某种特定性质的具体的或抽象的对象汇总而成的集体。其中,构成 Set 的 这些对象则称为该 Set 的元素。

集合的三个特性
Swift 里面的集合
Set 类型的哈希值
struct Person {
    var name: String
    var age: Int
}

extension Person: Hashable {
    func hash(into hasher: inout Hasher) {
        hasher.combine(age)
        hasher.combine(name)
    }
}

var person: Set<Person> = [Person(name: "张三", age: 20), Person(name: "李四", age: 25)]

遍历 Set
上一篇下一篇

猜你喜欢

热点阅读