📅  最后修改于: 2023-12-03 15:16:29.329000             🧑  作者: Mango
在Java中,HashSet
是一种基于哈希表的集合实现,它提供了许多有用的方法来操作集合。其中之一是retainAll()
方法。
retainAll()
方法简介retainAll()
方法用于保留两个集合中共同的元素,即将调用该方法的HashSet
对象中只保留与另一个给定集合中相同的元素。换句话说,retainAll()
方法将从原有的集合中去除与给定集合不共有的元素。
方法的声明如下:
public boolean retainAll(Collection<?> c)
参数c
是另一个集合,它包含了要保留的元素。
如果调用retainAll()
方法后,集合发生了改变(即有元素被删除了),则返回true
;如果集合没有发生改变,则返回false
。
下面是一个示例,展示了如何使用retainAll()
方法:
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
// 创建两个HashSet集合
HashSet<String> set1 = new HashSet<>();
HashSet<String> set2 = new HashSet<>();
// 向set1中添加一些元素
set1.add("Java");
set1.add("Python");
set1.add("C++");
set1.add("JavaScript");
// 向set2中添加一些元素
set2.add("Java");
set2.add("C#");
set2.add("PHP");
// 保留set1和set2中共同的元素
set1.retainAll(set2);
System.out.println("保留的元素:");
for (String element : set1) {
System.out.println(element);
}
}
}
代码解释:
HashSet
对象set1
和set2
。set1
中添加了一些元素:"Java","Python","C++","JavaScript"。set2
中添加了一些元素:"Java","C#","PHP"。set1.retainAll(set2)
,保留set1
和set2
中共同的元素。for
循环遍历set1
中保留的元素,并打印输出。运行该示例代码,输出结果如下:
保留的元素:
Java
可以看到,retainAll()
方法将set1
中的元素"Python"、"C++"和"JavaScript"移除了,只保留了与set2
中共同的元素"Java"。