簡體   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