![](/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.