Java ArrayDeque 中的 pop() 和 remove() 之间有 material 区别吗?
Is there a material difference between pop() and remove() in Java ArrayDeque?
remove 和 pop 都从队列的前面删除和 return 一个元素。如果队列为空,它们都会抛出异常。
没有区别。事实上,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();
}
这两种方法都在内部调用了removeFirst(),所以没有区别。 ArrayDeque 可以用作堆栈和 LinkedList,因此我们有不同的接口,具体取决于我们如何使用它(作为堆栈、队列或链表)。它是在 java API 的 1.6 版本中引入的,比 Stack 和 LinkedList 晚得多。根据 oracle 文档
public E remove() {
return removeFirst();
}
public E pop() {
return removeFirst();
}
remove 和 pop 都从队列的前面删除和 return 一个元素。如果队列为空,它们都会抛出异常。
没有区别。事实上,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();
}
这两种方法都在内部调用了removeFirst(),所以没有区别。 ArrayDeque 可以用作堆栈和 LinkedList,因此我们有不同的接口,具体取决于我们如何使用它(作为堆栈、队列或链表)。它是在 java API 的 1.6 版本中引入的,比 Stack 和 LinkedList 晚得多。根据 oracle 文档
public E remove() {
return removeFirst();
}
public E pop() {
return removeFirst();
}