![](/img/trans.png)
[英]What's the difference between the element() and getFirst() methods in the LinkedList class?
[英]java LinkedList methods getFirst() and element()
所以我可以从 stackoverflow 的先前答案中看到getFirst
和peekFirst
之间存在差异,因为如果 LinkedList 为空, peekFirst
不会抛出exception
。
但是getFirst
和element
之间有什么区别?
getFirst() 返回此列表中的第一个元素。
element() 检索但不删除此列表的头部(第一个元素)。
如果为空,两者都会抛出NoSuchElementException
。
谢谢!
它们与Deque
文档中指定的相同。
检索但不删除此双端队列表示的队列的头部(换句话说,此双端队列的第一个元素)。 此方法与 peek 的不同之处仅在于,如果此双端队列为空,它会引发异常。
此方法等效于 getFirst()。
https://docs.oracle.com/javase/7/docs/api/java/util/Deque.html#element()
element
在Queue
接口中,而getFirst
不在。 但是(如其他地方所述)行为是相同的。
LinkedList的源代码说明了一切:
public E element() {
return getFirst();
}
element()
方法只调用getFirst()
。 因此,在List
的LinkedList
实现的情况下,两种方法都有效地执行相同的操作。
注意: Deque
接口的另一个实现ArrayDeque
也有一个element()
实现, ArrayDeque
调用getFirst()
。
没有区别, element
的实现是
public E element() {
return getFirst();
}
javadoc 甚至指出
这个方法等价于 {@link #getFirst()}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.