-1
我是新來的集合,我想弄清楚爲什麼Java中的LinkedList類有這麼多類似的方法。java中的鏈表(集合)
for ex。
- 元素()返回列表的頭,但不刪除但這樣做窺視peekFirst
- addlast僅,報價,offerLast也都差不多
- 撈出removeFirst
做這些不同的功能有任何特定的應用?
感謝您的任何意見,並隨時糾正我
我是新來的集合,我想弄清楚爲什麼Java中的LinkedList類有這麼多類似的方法。java中的鏈表(集合)
for ex。
做這些不同的功能有任何特定的應用?
感謝您的任何意見,並隨時糾正我
LinkedList
是List
,但它也是一個Deque
這也是一個Queue
。
這3個接口提供功能的變化。例如,在Queue
中定義了element
和peek
,但是如果沒有要返回的值,則返回一個特殊值,而另一個返回異常。 peekFirst
特定於Deque
,因爲Deque
可以是兩端的peeked
。
相同的原則適用於其他方法。 (添加vs報價是一個返回與異常的問題,offerFirst是一個Deque特定的方法...)。
但我應該同意,Deque
接口有點奇怪。它基本上重複了Queue
所做的一切,方法是強制執行該方法的Queue
版本,再加上兩個版本(每一個都有一個版本)Deque
。它甚至闡明在doc:
從隊列接口繼承的方法完全等效於deque的方法
_Some功能具有不同的返回types_。所以他們**不是**一樣。有些還會拋出異常,其他異常會返回'null'。諮詢Javadoc。 –