Java LinkedBlockingDeque addAll() 方法

2025 年 3 月 21 日 | 阅读 2 分钟

LinkedBlockingDeque 类的 addAll() 方法用于将指定集合中的所有元素添加到此双端队列的末尾。此方法覆盖了 AbstractQueue<E> 类中的 addAll() 方法。

语法

参数

c - 要添加到此双端队列的元素

指定者:

LinkedBlockingDeque 类的 addAll() 方法由以下接口指定:

  1. Collection<E> 接口中的 addAll()。
  2. Deque<E> 接口中的 addAll()。

覆盖

LinkedBlockingDeque 类的 addAll() 方法覆盖了 AbstractQueue<E> 类中的 addAll() 方法。

返回值

如果此双端队列在方法调用后发生更改,则 addAll() 方法返回 true。

抛出

addAll() 方法抛出

NullPointerException - 如果指定的集合或其任何元素为 null

IllegalArgumentException - 如果集合是此双端队列本身

IllegalStateException ? 如果此双端队列已满

示例 1

输出

Deque : [Himanshu, Janak, Ravi]

示例 2

输出

List [1, 2, 3, 4, 5]
Deque : []
  Ater implementind addAll() method:
Deque : [1, 2, 3, 4, 5]
List : [1, 2, 3, 4, 5]

示例 3

输出

Exception in thread "main" java.lang.IllegalArgumentException
	at java.util.AbstractQueue.addAll(AbstractQueue.java:184)
	at com.javaTpoint.LinkedBlockingDequeAddAllExample3.main(LinkedBlockingDequeAddAllExample3.java:10)

如果集合与此双端队列相同,则会抛出 IllegalArgumentException。

示例 4

输出

Exception in thread "main" java.lang.NullPointerException
	at java.util.concurrent.LinkedBlockingDeque.offerLast(LinkedBlockingDeque.java:357)
	at java.util.concurrent.LinkedBlockingDeque.addLast(LinkedBlockingDeque.java:334)
	at java.util.concurrent.LinkedBlockingDeque.add(LinkedBlockingDeque.java:633)
	at java.util.AbstractQueue.addAll(AbstractQueue.java:187)
	at com.javaTpoint.LinkedBlockingDequeAddAllExample4.main(LinkedBlockingDequeAddAllExample4.java:11)

如果集合中的任何元素为 null,则会如上所示抛出 NullPointerException。