Java中的ArrayDeque removeAll()方法

Java中的ArrayDeque removeAll()方法

ArrayDeque的 removeAll() 方法用于删除既在ArrayDeque中又在作为参数传递的集合中存在的所有元素。此方法首先收集Collection的所有元素,然后开始从ArrayDeque中删除与Collection的元素相同的元素。执行此方法后,该ArrayDeque将不包含与该集合相同的任何元素。该方法返回True,如果调用此方法导致此ArrayDeque被更改。

语法:

public boolean removeAll(Collection<? extends E> col)

参数: 此方法使用参数c,表示我们想要从此deque中删除的元素的Collection。

返回值: 如果调用此方法导致此deque被更改,则此方法返回True。

异常: 如果指定的集合或其任何元素为空,则此方法会抛出NullPointerException。下面的程序示例了ArrayDeque的removeAll()方法:

程序1: 演示将从一个包含数字的集合中删除相同元素的ArrayDeque上的removeAll()方法的程序。

// Java Program Demonstrate removeAll()
// method of ArrayDeque
 
import java.util.*;
public class GFG {
 
    public static void main(String[] args)
    {
 
        // create an ArrayDeque which going to
        // contains a list of Numbers
        ArrayDeque<Integer> Numbers = new ArrayDeque<Integer>();
 
        // Add Number to list
        Numbers.add(23);
        Numbers.add(32);
        Numbers.add(45);
        Numbers.add(63);
 
        // print ArrayDeque before calling removeAll()
        System.out.println("Before calling removeAll()");
        print(Numbers);
 
        // create a collection of Number to
        // remove elements from ArrayDeque using removeAll()
        ArrayList<Integer> col = new ArrayList<Integer>();
 
        // add Numbers to collection
        col.add(45);
        col.add(44);
        col.add(63);
 
        // remove Numbers same as elements of collection
        // from ArrayDeque using removeAll()
        Numbers.removeAll(col);
 
        // print ArrayDeque after calling removeAll()
        System.out.println("After calling removeAll()");
        print(Numbers);
    }
 
    // printing all elements of ArrayDeque
    public static void print(ArrayDeque<Integer> arDe)
    {
 
        arDe.forEach((n) -> System.out.print(n + " "));
 
        System.out.println();
    }
}

输出:

Before calling removeAll()
23 32 45 63 
After calling removeAll()
23 32

程序2: 演示将从包含学生姓名的集合中删除相同元素的ArrayDeque上的removeAll()方法的程序。

// Java Program Demonstrate removeAll()
// method of ArrayDeque
 
import java.util.*;
public class GFG {
 
    public static void main(String[] args)
    {
 
        // create an ArrayDeque which going to
        // contains a list of Student names which is actually
        // string values
        ArrayDeque<String> students = new ArrayDeque<String>();
 
        // Add Strings to list
        // each string represents student name
        students.add("Ram");
        students.add("Mohan");
        students.add("Sohan");
        students.add("Rabi");
 
        // print ArrayDeque before calling removeAll()
        System.out.println("Before calling removeAll()");
        print(students);
 
        // create a collection of Number to
        // remove elements from ArrayDeque using removeAll()
        LinkedList<String> col = new LinkedList<String>();
 
        // add Names in collection
        col.add("Rabi");
        col.add("Sohan");
 
        // remove the elements same as collection
        // from ArrayDeque using removeAll()
        students.removeAll(col);
 
        // print ArrayDeque
        System.out.println("After calling removeAll()");
        print(students);
    }
 
    // printing all elements of ArrayDeque
    public static void print(ArrayDeque<String> arDe)
    {
 
        System.out.println("List of Students Name:");
 
        arDe.forEach((n) -> System.out.print(" | " + n + " | "));
 
        System.out.println("\n");
    }
}

输出:

Before calling removeAll()
List of Students Name:
 | Ram |  | Mohan |  | Sohan |  | Rabi | 

After calling removeAll()
List of Students Name:
 | Ram |  | Mohan |

程序3: 演示removeAll()方法抛出的异常的程序。

// Java Program Demonstrate Exception thrown by removeAll()
// method of ArrayDeque
 
import java.util.*;
public class GFG {
 
    public static void main(String[] args)
    {
 
        // create an ArrayDeque which going to
        // contains a list of Numbers
        ArrayDeque<Integer> Numbers = new ArrayDeque<Integer>();
 
        // Add Number to list
        Numbers.add(223);
        Numbers.add(132);
        Numbers.add(345);
        Numbers.add(563);
 
        // create a collection of Number which is null
        ArrayList<Integer> col = null;
 
        try {
            // call removeAll() method
            Numbers.removeAll(col);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}

输出:

java.lang.NullPointerException

参考: https://docs.oracle.com/javase/10/docs/api/java/util/ArrayDeque.html#removeAll(java.util.Collection)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程