📜  Swift 集合(1)

📅  最后修改于: 2023-12-03 15:35:12.730000             🧑  作者: Mango

Swift 集合

在 Swift 语言中,集合类型被分成了三种:数组、字典和集合。这些集合不仅功能强大,而且非常易用。在本篇文章中,我们将深入探讨 Swift 集合的所有方面。

数组

数组是一种可变的有序集合类型,可以使用数组来存储同类型的数据。可以通过下标访问和修改数组中的数据。

创建数组

创建数组的方法有多种。下面是一些最常见的例子:

// 创建一个由整数组成的数组
var numbers = [1, 2, 3, 4, 5]

// 创建一个字符串数组
var fruits: [String] = ["apple", "banana", "orange"]

// 创建一个空数组
var emptyArray: [Int] = []
访问数组元素

访问数组元素的方法也有多种。可以使用下标访问数组中的元素,或者使用 for-in 循环遍历整个数组。

// 使用下标访问数组元素
let firstNumber = numbers[0]
print(firstNumber) // 输出: 1

// 使用 for-in 循环遍历整个数组
for fruit in fruits {
    print(fruit)
}
// 输出: apple
//        banana
//        orange
修改数组元素

可以通过下标或 += 运算符修改数组中的元素。

// 修改数组元素
numbers[0] = 10
numbers[1...3] = [20, 30, 40]
print(numbers) // 输出: [10, 20, 30, 40, 5]

// 添加元素
numbers.append(6)
numbers += [7, 8, 9]
print(numbers) // 输出: [10, 20, 30, 40, 5, 6, 7, 8, 9]
数组的其他用法

除了上述方法之外,数组还有很多其他用途。我们可以使用 count 属性获取数组中元素的数量,或者使用 contains 方法检查是否包含某个元素。

// 获取数组元素数量
let count = numbers.count

// 检查数组中是否包含某个元素
let isContain = numbers.contains(20)
字典

字典是一种无序的键值对集合类型。每个键都对应一个唯一的值,可以使用键值对来访问和修改字典中的数据。

创建字典

创建字典的方法和数组类似,也有多种方式:

// 创建一个字符串键、整数值的字典
var phoneBook: [String: Int] = ["Alice": 123456, "Bob": 234567]

// 创建一个空字典
var emptyDictionary: [String: Int] = [:]
访问字典元素

通过键访问字典元素是最常见和流行的方法。还可以使用 for-in 循环遍历整个字典。

// 通过键访问字典元素
let alicePhoneNumber = phoneBook["Alice"]
print(alicePhoneNumber) // 输出: Optional(123456)

// 使用 for-in 循环遍历整个字典
for (name, number) in phoneBook {
    print("\(name): \(number)")
}
// 输出: Alice: 123456
//        Bob: 234567
修改字典元素

字典中的元素可以通过键来访问和修改,还可以使用 += 运算符添加新的键值对。

// 修改字典中元素的值
phoneBook["Alice"] = 111111
print(phoneBook) // 输出: ["Alice": 111111, "Bob": 234567]

// 添加键值对
phoneBook["Charlie"] = 345678
print(phoneBook) // 输出: ["Alice": 111111, "Charlie": 345678, "Bob": 234567]
字典的其他用法

字典还有很多有用的方法,我们可以使用 keys 属性获取所有的键,或者使用 values 属性获取所有的值。

// 获取所有键
let allKeys = phoneBook.keys

// 获取所有的值
let allValues = phoneBook.values
集合

集合是一种无序、无重复元素的集合类型。可以使用集合来进行元素的测试、插入和移除操作。

创建集合

创建集合的方法和数组、字典类似,也有多种方式:

// 创建一个由整数组成的集合
var numberSet: Set<Int> = [1, 2, 3, 4, 5]

// 创建一个空集合
var emptySet = Set<String>()
访问集合元素

由于集合是无序的,因此不能使用下标来访问元素。取而代之的方法是使用 contains 方法来检查某个元素是否存在于集合中。

// 检查集合中是否包含某个元素
let isContains = numberSet.contains(1)
print(isContains) // 输出: true
修改集合元素

可以使用 insert 方法来插入新元素,使用 remove 方法来移除元素。

// 插入元素
numberSet.insert(6)
print(numberSet) // 输出: [5, 2, 3, 6, 1, 4]

// 移除元素
numberSet.remove(6)
print(numberSet) // 输出: [5, 2, 3, 1, 4]
集合的其他用法

集合还有很多有用的方法,我们可以使用 count 属性获取集合中元素的数量,或者使用 unionintersect 方法来进行集合的合并和交集操作。

// 获取集合元素数量
let count = numberSet.count

// 合并两个集合
let setA: Set<Int> = [1, 2, 3, 4, 5]
let setB: Set<Int> = [4, 5, 6, 7, 8]
let unionSet = setA.union(setB)

// 计算两个集合的交集
let intersectSet = setA.intersection(setB)
总结

本文介绍了 Swift 集合类型的所有方面,包括数组、字典和集合。这些集合类型是处理数据的强大工具,能够帮助程序员更有效地组织和管理数据。无论是初学者还是经验丰富的开发人员,都应该了解和掌握 Swift 集合类型。