Queue 中 remove() 和 poll() 区别

2019-09-21  

  • Queue 中 remove() 和 poll()都是用来从队列头部删除一个元素。
  • 在队列元素为空的情况下,remove() 方法会抛出NoSuchElementException异常,poll() 方法只会返回 null 。

 

JDK1.8 中的源码解释

/**
 * Retrieves and removes the head of this queue.  This method differs
 * from {@link #poll poll} only in that it throws an exception if this
 * queue is empty.
 *
 * @return the head of this queue
 * @throws NoSuchElementException if this queue is empty
 */
E remove();
 
/**
 * Retrieves and removes the head of this queue,
 * or returns {@code null} if this queue is empty.
 *
 * @return the head of this queue, or {@code null} if this queue is empty
 */
E poll();

 

ConstXiong 备案号:苏ICP备16009629号-3