Set in Java2025年3月27日 | 阅读 9 分钟 在 Java 中,Set 是一个接口,属于 java.util 包。Set 接口扩展了 Collection 接口。不能包含重复元素的无序集合或列表被称为 **Collection 接口**。Set 接口用于创建数学上的集合。Set 接口使用 Collection 接口的方法来避免插入相同的元素。SortedSet 和 NavigableSet 是扩展 Set 实现的两个接口。 ![]() 在上图中,NavigableSet 和 SortedSet 都是接口。NavigableSet 扩展了 SortedSet,因此它不会保留插入顺序,而是以排序的方式存储数据。 在 Java 中,Set 接口是 java.util 包的一部分,并由 HashSet、TreeSet 和 LinkedHashSet 等多个类实现。Sets 广泛用于元素唯一性是优先考虑的任务,例如存储唯一标识符、过滤数据中的重复条目或实现数学集合运算。 SetExample1.java 输出 ![]() 注意:在本节中,我们使用文件名编译程序,并使用类名运行程序。因为文件名和类名是不同的。Set 操作在 Set 上,我们可以执行所有基本的数学运算,如交集、并集和差集。 假设我们有两个集合,即 set1 = [22, 45, 33, 66, 55, 34, 77] 和 set2 = [33, 2, 83, 45, 3, 12, 55]。我们可以对 Set 执行以下操作:
在 set 中,addAll() 方法用于执行并集,retainAll() 方法用于执行交集,removeAll() 方法用于执行差集。让我们举个例子来理解这些方法如何用于执行交集、并集和差集运算。 SetExample2.java输出 ![]() 描述在上面的代码中,我们首先创建两个整型数组 A 和 B。之后,我们创建两个整型集合 set1 和 set2。我们将两个数组转换为列表,并将数组 A 的元素添加到 set1,将数组 B 的元素添加到 set2。 为了执行并集,我们创建一个新的集合 union_data,其中包含 set1 的相同元素。然后,我们调用 set 的 addAll() 方法,并将 set2 作为参数传递给它。此方法将把所有未包含在 union_data 中的元素添加到其中,并给出两个集合的并集。 为了执行交集,我们创建一个新的集合 intersection_data,其中包含 set1 的相同元素。然后,我们调用 set 的 retainAll() 方法,并将 set2 作为参数传递给它。此方法将从 intersection_data 中获取所有存在于 set2 的元素,并将其存储在 intersection_data 中。现在,intersection_data 包含两个集合的交集值。 为了执行差集,我们创建一个新的集合 difference_data,其中包含 set1 的相同元素。然后,我们调用 set 的 removeAll() 方法,并将 set2 作为参数传递给它。此方法将从 difference_data 中删除所有存在于 set2 的元素,并给出两个集合的差集。 Set 方法Set 接口中有几种方法可用于对我们的集合执行特定操作。这些方法如下: 1) Set.add() 方法add() 方法将新值插入到集合中。该方法根据插入元素是否存在返回 true 或 false。如果元素已存在于集合中,则返回 false;如果元素不存在于集合中,则返回 true。 语法 SetExample3.java 输出 ![]() 2) Set.addAll() 方法addAll() 方法将指定集合的所有元素追加到集合中。 语法 SetExample4.java 输出 ![]() 3) Set.clear() 方法该方法删除集合中的所有元素。它不会删除集合的引用。它只删除集合中的元素。 语法 SetExample5.java 输出 ![]() 4) Set.contains() 方法contains() 方法用于检查元素是否存在于集合中。根据元素是否存在,其返回值是 true 或 false。 语法 SetExample6.java 输出 ![]() 5) Set.containsAll() 方法该方法用于检查集合的所有元素是否存在于现有集合中。如果集合的所有元素都存在于集合中,则返回 true;即使缺少一个元素,也返回 false。 语法 SetExample7.java 输出 ![]() 6) Set.hashCode() 方法该方法用于派生集合当前实例的哈希码值。它返回一个整数类型的哈希码值。 语法 SetExample8.java 输出 ![]() 7) Set.isEmpty() 方法isEmpty() 方法用于识别集合是否为空。如果集合为空,则返回 true;如果集合不为空,则返回 false。 语法 SetExample9.java 输出 ![]() 8) Set.iterator() 方法iterator() 方法用于查找集合的迭代器。迭代器用于逐个获取元素。 语法 SetExample10.java 输出 ![]() 9) Set.remove() 方法该方法用于从 Set 中删除指定的元素。其返回值取决于元素是否存在。如果元素存在于集合中,则返回 true;如果元素不存在于集合中,则返回 false。 语法 SetExample11.java 输出 ![]() 11) Set.removeAll() 方法该方法从指定集合中删除现有集合的所有元素。 语法 SetExample12.java 输出 ![]() 11) Set.retainAll() 方法该方法保留给定集合中指定的集合的所有元素。 语法 SetExample13.java 输出 ![]() 12) Set.size() 方法该方法返回集合的大小。 语法 SetExample14.java 输出 ![]() 13) Set.removeAll() 方法该方法用于创建一个包含集合相同元素的数组。 语法 SetExample15.java 输出 ![]() Set 的关键特性
常见的 Set 实现
|
在 Java 中,一个有效的 final 变量不是用 final 关键字声明的,但它的值在初始赋值后不会改变。当处理 lambda 表达式和匿名内部类时,此概念至关重要,它们只能访问是...的局部变量。
7 分钟阅读
Java 中的不可达代码或语句是 Java 初学者常见的问题。这是一种编译时错误。许多新手开发者将此错误与死代码(另一种 Java 相关现象)混淆。尽管两者在表现上相似,但两者之间存在细微差别...
阅读 4 分钟
在本节中,我们将创建一个 Java 程序来显示 1 到 100 之间的偶数。要学习 Java 偶数程序,您必须具备 Java for 循环和 if 语句的基本知识。我们可以使用不同的方法来显示偶数:使用 Java...
阅读 3 分钟
元组是固定大小且有序的项列表。与数组或列表不同,元组可以包含任何类型的元素,并且它们是不可变的,这意味着一旦创建,它们的尺寸和元素就无法更改。使用元组主要是...
阅读 10 分钟
(JFR) 是一个强大的性能监控和分析工具。它可以在出现灾难性故障时持续诊断、收集和监控正在运行的 Java 应用程序。它已集成到 JVM 中。该工具为应用程序性能分析提供了强大的 GUI。它用于...
阅读 12 分钟
在 Java 中,Lock 是 Java.util.concurrent.locks 包中提供的一个接口。Java Lock 充当与同步块类似的线程同步机制。过了一段时间,引入了一种新的锁定机制。它非常灵活,并且与...
5 分钟阅读
正确嵌套括号是在计算机科学中,尤其是在数学方程、解释器和编译器中,一个常见的问题。如果保持适当的开闭括号序列,“正确嵌套”的括号集才算正确。问题陈述给定一个仅包含字符 ( 和...的字符串
7 分钟阅读
三元运算(也称为三元运算符或条件运算符)是 Java 中 if-else 断言的简写。它提供了一种简洁的方式来编写简单的条件语句。在本通讯中,我们将介绍三元运算符的语法,...
阅读 4 分钟
HashMap 和 TreeMap 的区别 Java HashMap 和 TreeMap 都是 Java 集合框架的类。Java Map 实现通常充当分桶哈希表。当存储桶过大时,它们会转换为 TreeNode 节点,其结构与 java.util.TreeMap 中的节点类似。HashMap HashMap……
阅读 3 分钟
? Java Final 方法 final 关键字在 Java 中可用于禁止方法重写、声明常量和阻止继承。标记为 final 的方法表示不允许子类重写它。在许多情况下,它可能非常有用,...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India