Список, Linkedlist, Arraylist в Java - PullRequest
2 голосов
/ 22 апреля 2011

О Списке, Linkedlist и Arraylist, какой из них является односторонним, а какой является списком с двойной связью? И как мы можем изменить это?

Ответы [ 2 ]

8 голосов
/ 22 апреля 2011

Если вы хотите создать односвязный список, выя должен написать это сам.

Я должен отметить, что создать единый связанный список, который реализует java.util.List, нелегко.Это требует от вас ListIterator<E>, и часть спецификации ListIterator заключается в том, что вы можете перемещаться в любом направлении с помощью методов hasPrevious, previous и previousIndex .Поэтому было бы очень сложно сохранить его эффективность и соответствие мантре с одним связанным списком.

4 голосов
/ 22 апреля 2011

Вы можете отменить любую коллекцию, используя Collections.reverse(..).LinkedList (и любой Deque) имеет descendingIterator()

...