Swift 提供了几种常用的集合类型,用于存储和管理一组数据。这些集合类型包括数组(Array)、字典(Dictionary)和集合(Set)。本章将介绍它们的使用方法及常见操作。
5.1 数组(Array)
数组是一组有序的数据集合,用于存储同一类型的数据。数组中的元素可以通过索引访问。
定义数组
可以使用 Array 或 [Element] 来定义数组,其中 Element 是数组元素的数据类型。
// 创建一个整数数组
var numbers: [Int] = [1, 2, 3, 4, 5]// 或者省略类型,由 Swift 自动推断
var names = ["Alice", "Bob", "Charlie"]
数组操作
// 添加元素
numbers.append(6)// 插入元素
numbers.insert(0, at: 0) // 在索引 0 处插入 0// 访问元素
let firstElement = numbers[0] // 获取第一个元素// 修改元素
numbers[0] = 10// 移除元素
numbers.remove(at: 1) // 移除索引为 1 的元素
numbers.removeLast() // 移除最后一个元素print(numbers)
5.2 字典(Dictionary)
字典是无序的键值对集合,用于快速查找数据。字典的每个元素包含一个唯一的键和一个与之关联的值。
定义字典
可以使用 Dictionary<Key, Value> 或 [Key: Value] 来定义字典,其中 Key 是键的类型,Value 是值的类型。
// 创建一个字典,键是字符串,值是整数
var ages: [String: Int] = ["Alice": 25, "Bob": 30, "Charlie": 35]// 或者让 Swift 自动推断类型
var scores = ["Math": 90, "Science": 85, "History": 88]
字典操作
// 添加或修改值
ages["Dave"] = 28
ages["Alice"] = 26 // 更新键 "Alice" 的值// 访问值
if let aliceAge = ages["Alice"] {print("Alice's age is \(aliceAge)")
} else {print("Alice not found")
}// 移除值
ages.removeValue(forKey: "Charlie")print(ages)
5.3 集合(Set)
集合是一种无序的、唯一的数据集合,适合用于去重操作和快速查找。
定义集合
可以使用 Set 定义集合,其中 Element 是集合元素的数据类型。集合元素必须是唯一的。
// 创建一个字符串集合
var fruits: Set<String> = ["Apple", "Banana", "Cherry"]// 或者让 Swift 自动推断类型
var numbers: Set = [1, 2, 3, 4, 5]
集合操作
// 添加元素
fruits.insert("Orange")// 移除元素
fruits.remove("Banana")// 检查是否包含某个元素
if fruits.contains("Apple") {print("Fruits set contains Apple")
}// 集合运算
let oddNumbers: Set = [1, 3, 5, 7, 9]
let evenNumbers: Set = [0, 2, 4, 6, 8]
let primeNumbers: Set = [2, 3, 5, 7]// 并集
let unionSet = oddNumbers.union(evenNumbers)// 交集
let intersectionSet = oddNumbers.intersection(primeNumbers)// 差集
let differenceSet = oddNumbers.subtracting(primeNumbers)print(unionSet)
print(intersectionSet)
print(differenceSet)
通过本章的学习,你已掌握 Swift 中集合类型的基本使用和操作。集合类型在处理数据时非常高效,能够帮助你快速完成数据查找、修改等操作。下一章我们将介绍 Swift 中的枚举和结构体的使用。