Java ArrayBlockingQueue add() 方法

2025 年 1 月 7 日 | 阅读 3 分钟

ArrayBlockingQueue() 的 add() 方法如果队列容量允许,会将指定的元素添加到队列的尾部。

如果插入成功,该方法返回 true;如果队列没有足够的容量,则抛出 IllegalStateException。

语法

参数

e - 这是要添加的元素。

指定者:

ArrayBlockingQueue 类的 add() 方法由以下接口指定:

  1. Queue<E> 接口中的 add() 方法
  2. Collection<E> 接口中的 add() 方法
  3. BlockingQueue<E> 接口中的 add() 方法

Override

ArrayBlockingQueue 类的 add() 方法会覆盖 AbstractQueue<E> 类中的 add() 方法。

抛出

add() 方法会抛出:

NullPointerException - 如果指定的元素为 null。

IllegalStateException - 如果队列已满。

返回值

add() 方法返回 true(正如 Collection.add(E) 所定义的)。

示例 1

输出

After adding 1 to the queue :
[1]

After adding 2 to the queue :
[1, 2]

After adding 3 to the queue :
[1, 2, 3]

After adding 4 to the queue :
[1, 2, 3, 4]

After adding 5 to the queue :
[1, 2, 3, 4, 5]

示例 2

输出

1 Lower case = aman
  Upper case = AMAN

2 Lower case = bhavika
  Upper case = BHAVIKA

示例 3

输出

71018
8000
1178
1190
Max number = 71018
Min number = 1178

示例 4

输出

Exception in thread "main" java.lang.NullPointerException
	at java.util.concurrent.ArrayBlockingQueue.checkNotNull(ArrayBlockingQueue.java:150)
	at java.util.concurrent.ArrayBlockingQueue.offer(ArrayBlockingQueue.java:325)
	at java.util.AbstractQueue.add(AbstractQueue.java:95)
	at java.util.concurrent.ArrayBlockingQueue.add(ArrayBlockingQueue.java:312)
	at com.javaTpoint.ArrayBlockingQueue_addMethodExample4.main(ArrayBlockingQueue_addMethodExample4.java:16)

如果队列中包含任何指定的 null 元素,则会抛出 NullPointerException,如上所示。