LinkedList对element()方法和getFirst()方法有类似的描述(奇怪的是 - 不一样的单词).
Deque 明确指出两种方法在返回值和异常方面是相同的.
我的问题是 - 为什么有两个相同的方法?它是为了向后兼容吗?一种方法比另一种更有效吗?
element()继承自Queue只有一种访问方法是有意义的,因为你可以在队列中做的就是删除第一个元素.然而,一个deque支持这个从两个末端,因此需要明确的方法来做到这一点.
并且设计一个API并不是很好,你可以访问第一个元素element()和最后一个元素getLast().
可能会发生的另一件事是Deque1.6中添加的内容,其中Java Collections Framework的部分古老部分已被较新的约定废弃,例如属性访问的显式get~/ set~方法.在这种情况下,getFirst()和getLast更严格地遵守当前的Java约定.