繁体   English   中英

java LinkedList 方法 getFirst() 和 element()

[英]java LinkedList methods getFirst() and element()

所以我可以从 stackoverflow 的先前答案中看到getFirstpeekFirst之间存在差异,因为如果 LinkedList 为空, peekFirst不会抛出exception

但是getFirstelement之间有什么区别?

getFirst() 返回此列表中的第一个元素。

element() 检索但不删除此列表的头部(第一个元素)。

如果为空,两者都会抛出NoSuchElementException

谢谢!

它们与Deque文档中指定的相同。

检索但不删除此双端队列表示的队列的头部(换句话说,此双端队列的第一个元素)。 此方法与 peek 的不同之处仅在于,如果此双端队列为空,它会引发异常。

此方法等效于 getFirst()。

https://docs.oracle.com/javase/7/docs/api/java/util/Deque.html#element()

elementQueue接口中,而getFirst不在。 但是(如其他地方所述)行为是相同的。

LinkedList源代码说明了一切:

public E element() {
    return getFirst();
}

element()方法只调用getFirst() 因此,在ListLinkedList实现的情况下,两种方法都有效地执行相同的操作。

注意: Deque接口的另一个实现ArrayDeque也有一个element()实现, ArrayDeque调用getFirst()

没有区别, element的实现是

public E element() {
    return getFirst();
}

javadoc 甚至指出

这个方法等价于 {@link #getFirst()}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM