remove 和 pop 都从队列的前面删除并返回一个元素。如果队列为空,它们都会抛出异常。
问问题
792 次
2 回答
1
没有区别。事实上,pop() 和 remove() 方法都调用 removeFirst。见https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/ArrayDeque.java
public E remove() {
return removeFirst();
}
public E pop() {
return removeFirst();
}
于 2020-07-07T03:43:17.873 回答
1
这两种方法在内部都调用了 removeFirst(),所以没有区别。ArrayDeque 可以用作堆栈以及 LinkedList,因此我们有不同的接口,这取决于我们要如何使用它(作为堆栈、队列或链表)。它是在 Java API 的 1.6 版中引入的,比 Stack 和 LinkedList 晚得多。根据 oracle 文档
public E remove() {
return removeFirst();
}
public E pop() {
return removeFirst();
}
于 2020-07-07T03:47:31.780 回答