集合
1. 概述
在 Swift 中,集合(Collection)是一种用于存储多个相同类型元素的数据结构。集合类型包括数组(Array)、集合(Set)和字典(Dictionary)。每种集合类型都有其特定的用途和特性,理解它们的使用场景和操作方法对于编写高效、清晰的代码至关重要。
2. 数组(Array)
2.1 数组的基本概念
数组是一种有序的集合,其中的元素可以通过索引(Index)来访问。数组中的每个元素都有一个唯一的索引,索引从0开始。
2.2 创建数组
// 创建一个空数组
var emptyArray: [Int] = []
// 创建一个包含初始元素的数组
var numbers: [Int] = [1, 2, 3, 4, 5]
2.3 访问和修改数组元素
// 访问数组元素
let firstNumber = numbers[0] // 1
// 修改数组元素
numbers[1] = 10 // 现在数组为 [1, 10, 3, 4, 5]
2.4 数组的操作
// 添加元素
numbers.append(6) // 现在数组为 [1, 10, 3, 4, 5, 6]
// 插入元素
numbers.insert(0, at: 0) // 现在数组为 [0, 1, 10, 3, 4, 5, 6]
// 删除元素
numbers.remove(at: 2) // 现在数组为 [0, 1, 3, 4, 5, 6]
3. 集合(Set)
3.1 集合的基本概念
集合是一种无序的集合,其中的元素是唯一的。集合中的元素没有特定的顺序,也不能通过索引来访问。
3.2 创建集合
// 创建一个空集合
var emptySet: Set<Int> = []
// 创建一个包含初始元素的集合
var uniqueNumbers: Set<Int> = [1, 2, 3, 4, 5]
3.3 集合的操作
// 添加元素
uniqueNumbers.insert(6) // 现在集合为 [1, 2, 3, 4, 5, 6]
// 删除元素
uniqueNumbers.remove(2) // 现在集合为 [1, 3, 4, 5, 6]
// 检查元素是否存在
let containsThree = uniqueNumbers.contains(3) // true
4. 字典(Dictionary)
4.1 字典的基本概念
字典是一种存储键值对(Key-Value Pair)的集合。每个键(Key)都是唯一的,并且与一个值(Value)相关联。
4.2 创建字典
// 创建一个空字典
var emptyDictionary: [String: Int] = [:]
// 创建一个包含初始键值对的字典
var scores: [String: Int] = ["Alice": 90, "Bob": 85, "Charlie": 88]
4.3 访问和修改字典元素
// 访问字典元素
let aliceScore = scores["Alice"] // 90
// 修改字典元素
scores["Bob"] = 92 // 现在字典为 ["Alice": 90, "Bob": 92, "Charlie": 88]
4.4 字典的操作
// 添加元素
scores["David"] = 95 // 现在字典为 ["Alice": 90, "Bob": 92, "Charlie": 88, "David": 95]
// 删除元素
scores.removeValue(forKey: "Charlie") // 现在字典为 ["Alice": 90, "Bob": 92, "David": 95]
5. 实践练习
5.1 练习1:数组操作
创建一个包含10个整数的数组,然后使用循环遍历数组,打印每个元素的值。
var numbersArray: [Int] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for number in numbersArray {
print(number)
}
5.2 练习2:集合操作
创建一个包含重复元素的数组,然后将其转换为集合,并打印集合中的元素。
var duplicateNumbers: [Int] = [1, 2, 2, 3, 4, 4, 5]
var uniqueSet: Set<Int> = Set(duplicateNumbers)
for number in uniqueSet {
print(number)
}
5.3 练习3:字典操作
创建一个字典,存储学生的姓名和对应的分数。然后遍历字典,打印每个学生的姓名和分数。
var studentScores: [String: Int] = ["Alice": 90, "Bob": 85, "Charlie": 88]
for (name, score) in studentScores {
print("\(name): \(score)")
}
6. 总结
通过本教程,我们学习了 Swift 中的三种主要集合类型:数组、集合和字典。每种集合类型都有其独特的特性和用途,理解它们的基本操作和使用场景对于编写高效、清晰的代码至关重要。希望你能通过实践练习进一步巩固这些知识,并在实际编程中灵活运用。