1.1 了解集合
集合这个概念是从数学中引入编程的。 集合是由一组唯一的元素组成的。这个特点让集合在编程中成为一个强大的工具,带有许多独特的功能。
什么是一组独特的元素呢?想象一下“全国最受欢迎的10个名字的名单”。这个定义本身就意味着名单中的每个名字都是独一无二的,不会重复。只是名字的持有者可能会重复。
或者想象一下集邮。你从每个国家收集一枚邮票。你的收藏就是一组邮票,每枚邮票都是独一无二的,你不想要两枚相同的邮票。这就是集合的理念。
集合的主要特点
唯一性
集合是一个独特的物品的组。想象一下你有一个客户号码列表要联系。列表中的每个号码都应该是唯一的,这样就不会有重复的电话打扰。
无序性
集合不关心项目的顺序。这就像你把水果放进篮子里,不用担心什么在底部或者顶部。关键是篮子里的每种水果都不同。
可变性
你可以添加或移除集合中的物品。就像随时可以在篮子里放新水果或者移走不需要的水果一样。
1.2 集合上的操作
集合,就像一大组元素上的操作,可以进行各种各样的操作。以下是4个最常见的例子:
- 并集 (Union): 两个集合的并集结果包含两个集合中所有的唯一元素。
- 交集 (Intersection): 两个集合的交集结果只包含在两个集合中都存在的元素。
- 差集 (Difference): 两个集合的差集结果包括在第一个集合中出现但在第二个集合中不存在的元素。
- 对称差 (Symmetric Difference): 两个集合的对称差结果包括在其中一个集合中存在但不同时存在于两个集合的元素。
这是一个不错的图片,可以帮助记住操作的要点:
并集 (Union):
两个集合A和B的并集结果将包含两个集合中的所有独特元素。
交集 (Intersection):
两个集合的交集结果只包含在两个集合中都存在的元素。
差集 (Difference):
两个集合的差集结果包括在第一个集合中出现但在第二个集合中不存在的元素。
对称差 (Symmetric Difference):
两个集合的对称差结果包括在其中一个集合中存在但不同时存在于两个集合的元素。
1.3 集合的特点
集合不仅以它们的属性而闻名,还以其特定的操作集闻名。
独特的收藏
想象一下,你在收集名人的签名。你希望你的收藏中每个签名都是独一无二的。这意味着如果你已经有了你最喜欢的演员的签名,你就不会再收一次。你的签名收集就是一组独特的签名。
去重
假设你有一个聚会的客人名单,但不小心把某些人记了两次。为了确保每个客人只被邀请一次,你可以创建一个客人集合。这个集合将自动只保留唯一的名字,而重复的将被移除。
检查是否存在
想象一下,你在玩一个游戏,需要收集不同种类的宝藏。每个宝箱中可能有一个来自众多宝藏中的一个。如果你想知道你是否已经找到了某个特定的宝藏,你只需检查你的宝藏集合里是否有它。
组合群体
想象一下你有两个朋友名单:一个是学校的,一个是健身俱乐部的。如果你想知道你认识多少独特的人,你可以把这两个名单合并成一个集合。这样,你就会有一个没有重复的所有独特朋友的名单。
GO TO FULL VERSION