关于List,Linkedlist和Arraylist,哪一个是单向列表,哪一个是双向链表? 我们怎么能扭转呢?
答案 0 :(得分:8)
List
一个仅仅定义列表行为的interface。
ArrayList
一个List
实施,由array支持。它不是linked list。LinkedList
一个List
实施,由doubly-linked list的实施支持。如果你想要一个单链表,你必须自己编写。
我应该指出,制作一个实现java.util.List
的链接列表并不容易。它要求您拥有ListIterator<E>
,并且ListIterator
规范的一部分是您可以使用方法hasPrevious
,previous
和previousIndex在任一方向上遍历。因此,要保持单一链接列表的有效性和真实性,咒语将非常困难。
答案 1 :(得分:4)
您可以使用Collections.reverse(..)
撤消任何收藏。 LinkedList
(以及任何Deque
)都有descendingIterator()