📜  Java中的 AbstractSet removeAll() 方法及示例(1)

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

Java中的 AbstractSet removeAll() 方法及示例

介绍

AbstractSet 是 Java 中提供的一个抽象类,它实现了 Set 接口中的大部分方法,可以帮助我们快速实现自定义的集合类型。

AbstractSet 中的 removeAll(Collection<?> c) 方法用于删除集合中包含在指定集合中的元素,它会修改当前集合,将指定集合中的所有元素从当前集合中删除。

语法
public boolean removeAll(Collection<?> c)
参数
  • c:指定的集合
返回值

该方法返回一个布尔值,表示当前集合是否发生了修改。

示例

以下是一个示例代码,用于演示 AbstractSet removeAll() 方法的使用。

import java.util.*;

public class Main {
    public static void main(String[] args) {
        // 创建一个 HashSet 集合
        Set<Integer> set1 = new HashSet<>();

        // 添加元素
        set1.add(1);
        set1.add(2);
        set1.add(3);

        // 创建一个 HashSet 集合
        Set<Integer> set2 = new HashSet<>();

        // 添加元素
        set2.add(2);
        set2.add(3);
        set2.add(4);

        // 删除集合中与指定集合中相同的元素
        boolean result = set1.removeAll(set2);

        // 输出删除结果及当前集合内容
        System.out.println("执行 removeAll() 方法是否成功:" + result);
        System.out.println("当前集合内容:" + set1);
    }
}

运行结果如下:

执行 removeAll() 方法是否成功:true
当前集合内容:[1]

在上述示例代码中,我们首先创建了两个 HashSet 集合,分别添加了不同的元素。然后通过 set1 集合的 removeAll() 方法,将 set2 集合中已存在于 set1 集合中的元素移除。最后输出了删除的结果及当前集合的内容。

需要注意的是,由于 AbstractSet removeAll() 方法是根据 equals() 方法判断元素相等性的,因此如果集合中存在自定义的对象类型,需要重写 equals() 方法才能正确使用 remove() 方法。