簡體   English   中英

Java中的鏈表(集合)

[英]Linkedlist (collections) in java

我是集合的新手,我想弄清楚為什么Java的LinkedList類中有這么多類似的方法。

對於前。

  1. element()返回列表的頭部而不刪除,但是peek和peekFirst也是如此
  2. addLast,offer,offerLast也相似
  3. 刪除並刪除First

這些不同的功能是否有特定的用途?

感謝您的任何建議,隨時可以糾正我

LinkedList是一個List ,但它也是一個Deque ,它也是一個Queue

這3個界面可提供各種功能。 例如, elementpeekQueue中定義,但是一個返回一個特殊值,而另一個則在沒有值可返回時引發異常。 peekFirst是特定於Deque ,因為一個Deque可以peeked從兩端。

相同的原理適用於其他方法。 (add vs offer是return vs exception的問題,offerFirst是Deque特定的方法...)。

不過,我應該同意, Deque接口有點奇怪。 通過強制實現實現方法的Queue版本以及兩個Deque版本(每個端一個),它基本上將Queue所有操作重復三份。 它甚至在文檔中有所說明:

從Queue接口繼承的方法與Deque方法完全等效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM