Java ArrayList.removeAll() 方法及代码示例

从数组列表中删除包含在指定合集中的元素.

定义

public boolean removeAll​(Collection<?> c)

参数

参数类型参数名称参数描述
Collection<?>c包含了想要删除了元素的列表
类型参数E数组列表包含的元素的类型

返回值

如果调用了此方法后数组列表发生了变化则返回 true, 否则返回 false.

抛出的异常

ClassCastException 如果列表中某个元素的类与指定的集合不兼容

NullPointerException 如果该列表包含一个 null 元素,而指定的集合不允许包含 null 元素,或者指定的集合为 null

说明

本方法方法由 Collection<E> 接口的 removeAll() 方法指派

本方法方法由 List<E> 接口的 removeAll() 方法指派

本方法重写了继承自 AbstractCollection<E> 类的 removeAll() 方法

示例

从数组列表中删除包含在指定合集中的元素的示例

package com.yi21.arraylist;

import java.util.ArrayList;
import java.util.Set;

public class Yi21ArraysListRemoveAll {

    public static void main(String[] args) {
        
        ArrayList<String> list = new ArrayList<>();
        list.add("Hello");
        list.add("World");
        list.add("World");
        list.add("21yi");
        
        System.out.println("删除无元素合集, 是否变化? " + list.removeAll(Set.of()));
        System.out.println("删除有元素合集, 是否变化? " + list.removeAll(Set.of("World")));
        System.out.println("剩余的元素: ");
        list.forEach(System.out::println);

    }

}

执行结果为 :

删除无元素合集, 是否变化? false
删除有元素合集, 是否变化? true
剩余的元素:
Hello
21yi