【发布时间】:2014-07-18 15:17:12
【问题描述】:
在 Java 的 LinkedList 实现中,我看到两种在我看来功能相同的方法。
getFirst() -- 返回此列表中的第一个元素。
peekFirst() -- 检索但不删除此列表的第一个元素,如果此列表为空,则返回 null。
它们都获得了指向 LinkedList 中第一个元素的指针,而不对其进行任何更改。那么,有什么区别呢?
我看到的唯一区别是,如果列表为空,peekFirst 会返回 null,如果列表为空,getFirst 会抛出 NoSuchElementException。这样的设计模式有什么用?
【问题讨论】:
-
你介意我把标题改成“Java 的 LinkedList 中的 getFirst() 和 peekFirst() 有什么区别吗?”你所拥有的有点模糊(听起来你在谈论标题中的所有方法,从标题中并不清楚你到底在问什么)
-
@DennisMeng 当然可以。
-
这个问题实际上是关于
Deque(LinkedList实现)而不是直接LinkedList。
标签: java linked-list