预定义的Java LinkedLists是否双重链接?

Ste*_*ven 0 java linked-list

由于Linked API的java API中有方法,例如:删除最后一个节点,并在LinkedList中的特定索引处插入一个节点.API中的LinkedList必须是双向链表,对吧?

我尝试制作自己的单个链表但是从我发现不可能在特定索引中插入节点,并且无法删除列表中的最后一个节点.所以,如果我想这样做,我应该创建自己的双链表?

Sot*_*lis 5

java.util.LinkedListjavadoc的明确规定

List和Deque接口的双链表实现.

您需要将变量声明LinkedList为查看其方法,例如removeLast().

LinkedList<String> linkedList = new LinkedList<>();
... // add stuff
linkedList.removeLast(); // compiles

List<String> list = new LinkedList<>();
... // add stuff
list.removeLast(); // doesn't compile
Run Code Online (Sandbox Code Playgroud)

  • 实际上,“removeLast()”来自“Deque”接口 http://docs.oracle.com/javase/6/docs/api/java/util/Deque.html#removeLast() 因此,您也可以像这样引用Deque&lt;String&gt; xxx = new LinkedList&lt;String&gt;(); xxx.removeLast();` (2认同)