Swift Academy · 课时

集合运算:并集、交集与差集

高效执行数学集合运算和成员测试

第 3 / 4 课12 个步骤

集合运算:并集、交集与差集 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 4 节课。

欢迎

`Set` 用于存储符合 `Hashable` 的唯一且无序的值。它支持高效的数学集合操作,包括并集、交集、差集等。

创建集合

```swift var fruits: Set = ["apple","banana","cherry"] var inferred: Set = [1, 2, 3, 3, 2] // {1,2,3} — duplicates removed ``` 集合的写法类似数组,但其类型是 `Set`。

成员检查

```swift let primes: Set = [2,3,5,7,11] print(primes.contains(7)) // true — O(1) print(primes.contains(4)) // false ``` 与数组的 O(n) 相比,O(1) 的成员检查是集合的主要优势。

插入和移除

```swift var colors: Set = ["red","green"] colors.insert("blue") // {"red","green","blue"} colors.remove("green") // {"red","blue"} let (inserted,_) = colors.insert("red") // inserted = false (already there) ```

并集

```swift let a: Set = [1,2,3] let b: Set = [3,4,5] print(a.union(b)) // {1,2,3,4,5} var c = a c.formUnion(b) // mutates c in-place ```

交集

```swift let a: Set = [1,2,3,4] let b: Set = [3,4,5,6] print(a.intersection(b)) // {3,4} print(a.isDisjoint(with: [7,8])) // true — no common elements ```

差集

```swift let all: Set = [1,2,3,4,5] let remove: Set = [2,4] let remaining = all.subtracting(remove) // {1,3,5} ```

对称差集

```swift let x: Set = [1,2,3] let y: Set = [2,3,4] print(x.symmetricDifference(y)) // {1,4} — elements in one but not both ```

子集和超集

```swift let small: Set = [1,2] let large: Set = [1,2,3,4] print(small.isSubset(of: large)) // true print(large.isSuperset(of: small)) // true print(small == large) // false ```

在集合和数组之间转换

```swift let arr = [1,2,2,3,3,3] let unique = Set(arr) // {1,2,3} let back = Array(unique).sorted() // [1,2,3] ``` 一种常见模式是:通过集合来回转换数组,从而去除重复项。

快速检查

哪个集合操作只返回同时存在于**两个**集合中的元素?

回顾

要点总结: • 集合存储唯一的 `Hashable` 值,并提供 O(1) 的成员检查 • `union`、`intersection`、`subtracting`、`symmetricDifference` • `isSubset`、`isSuperset`、`isDisjoint` • 去除数组重复项:先使用 `Set(array)`,再转换回 `Array` • 可变版本:`formUnion`、`formIntersection` 等 接下来学习:选择合适的集合类型。
免费开始

用 AI 导师学习 Swift — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
122
课程
409

常见问题解答

「集合运算:并集、交集与差集」课时是免费的吗?

是的 — 「集合运算:并集、交集与差集」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 4 节课。

「集合运算:并集、交集与差集」这节课中我会学到什么?

高效执行数学集合运算和成员测试 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Swift Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「集合运算:并集、交集与差集」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Swift Academy 课中编写并运行代码吗?

能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 字典的增删改查与下标访问
  2. 迭代和转换字典
  3. 集合运算:并集、交集与差集
  4. 如何选择数组、字典和集合
← 返回 Swift Academy