📜  Java中的 ArrayDeque removeAll() 方法(1)

📅  最后修改于: 2023-12-03 14:42:43.671000             🧑  作者: Mango

Java中的 ArrayDeque removeAll() 方法

ArrayDeque 是 Java 中的一个双端队列,它实现了 Deque 接口,允许在队列的两端进行添加、删除和获取元素的操作。 removeAll() 方法是 ArrayDeque 类中的一个方法,用于从队列中删除指定集合中存在的所有元素。

方法签名
boolean removeAll(Collection<?> c)
参数说明

c:一个要从队列中删除的集合。

返回值

如果队列中的元素由于该方法的调用而发生了更改,则返回 true;否则返回 false

注意事项
  1. removeAll() 方法会比较队列和指定集合中的所有元素,如果都是引用类型,需要确保元素的重写了 equals(Object obj) 方法,否则可能会出现删除不完全情况。

  2. 在删除元素时,pollFirst()pollLast() 方法会被用来从队列中删除元素。

代码示例
import java.util.ArrayDeque;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 创建一个 ArrayDeque 对象
        ArrayDeque<Integer> deque = new ArrayDeque<>();
        // 添加元素到队列中
        deque.add(1);
        deque.add(2);
        deque.add(3);
        deque.add(4);
        deque.add(5);

        // 创建一个 ArrayList 对象
        ArrayList<Integer> list = new ArrayList<>();
        list.add(2);
        list.add(4);

        // 删除元素
        boolean result = deque.removeAll(list);

        System.out.println("删除结果:" + result);
        System.out.println("队列中的元素:" + deque);
    }
}

运行结果如下:

删除结果:true
队列中的元素:[1, 3, 5]

在这个示例中,我们创建了一个 ArrayDeque 队列,并用 add() 方法添加了5个元素。然后,我们创建了一个 ArrayList 集合,并将元素2和4添加到其中。接下来,我们调用了 removeAll() 方法,并将 list 作为参数传入。 removeAll() 方法删除了队列中存在的集合中的元素,并将该方法的返回值输出到控制台。最后,我们通过 System.out.println() 将队列中剩余的元素输出到控制台。

本示例中,removeAll() 方法返回了 true,队列中的元素已经成功删除,只剩下1,3和5。