为什么Java提供两种方法从队列中删除元素?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (110)

QueueJava中的实现有两个方法去除元素,一个是remove()抛出异常,另一个是poll()返回null空队列

为什么Queue有不同的实现去除元素?

提问于
用户回答回答于

抽象类AbstractQueue<E>定义Remove方法

public E remove() {
    E x = poll();
    if (x != null)
        return x;
    else
        throw new NoSuchElementException();
}
用户回答回答于

在相反的情况下,不希望队列是空的,这是一个编程错误的迹象,或者是一些其他异常的情况,不想写丑陋的错误条件检查代码(例如检查对于null),因为在这种情况下,这会比捕获一个异常

扫码关注云+社区

领取腾讯云代金券