java中的Linkedlist(集合)



我不熟悉集合,我想弄清楚为什么Java中的LinkedList类中有这么多类似的方法。

对前女友

  1. element()返回列表的头而不删除,peek和peekFirst也是如此
  2. addLast, offer, offerLast也是类似的
  3. remove and removeFirst

这些不同的功能有什么特定的用途吗?

谢谢你的建议,请随时纠正我

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

这3个接口提供了不同的功能。例如,elementpeek是在Queue中定义的,但是其中一个返回一个特殊值,而另一个在没有值可返回时抛出异常。peekFirst是特定于Deque的,因为两端的Deque都可以是peeked

同样的原则也适用于其他方法。(add和offer是return和exception的问题,offerFirst是Deque特定的方法…)

我应该同意,虽然,Deque接口是有点奇怪。通过强制实现实现方法的Queue版本,加上Deque版本(两端各一个),它基本上将Queue所做的一切复制了三倍。它甚至在文档中有详细说明:

从Queue接口继承的方法完全等同于Deque方法

相关内容

  • 没有找到相关文章

最新更新