LinkedList类中的element()和getFirst()方法有什么区别?

use*_*037 8 java linked-list

LinkedListelement()方法和getFirst()方法有类似的描述(奇怪的是 - 不一样的单词).

Deque 明确指出两种方法在返回值和异常方面是相同的.

我的问题是 - 为什么有两个相同的方法?它是为了向后兼容吗?一种方法比另一种更有效吗?

Joe*_*oey 6

element()继承自Queue只有一种访问方法是有意义的,因为你可以在队列中做的就是删除第一个元素.然而,一个deque支持这个从两个末端,因此需要明确的方法来做到这一点.

并且设计一个API并不是很好,你可以访问第一个元素element()和最后一个元素getLast().

可能会发生的另一件事是Deque1.6中添加的内容,其中Java Collections Framework的部分古老部分已被较新的约定废弃,例如属性访问的显式get~/ set~方法.在这种情况下,getFirst()getLast更严格地遵守当前的Java约定.