📜  Java中的HashSet retainAll() 方法与示例(1)

📅  最后修改于: 2023-12-03 15:16:29.329000             🧑  作者: Mango

Java中的HashSet retainAll() 方法与示例

在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);
        }
    }
}

代码解释:

  1. 创建了两个HashSet对象set1set2
  2. set1中添加了一些元素:"Java","Python","C++","JavaScript"。
  3. set2中添加了一些元素:"Java","C#","PHP"。
  4. 调用set1.retainAll(set2),保留set1set2中共同的元素。
  5. 使用增强的for循环遍历set1中保留的元素,并打印输出。

运行该示例代码,输出结果如下:

保留的元素:
Java

可以看到,retainAll()方法将set1中的元素"Python"、"C++"和"JavaScript"移除了,只保留了与set2中共同的元素"Java"。