java中的LinkedList底层就是使用的双向链表
private static class Node<E> {
E item;
Node<E> next;
Node<E> prev;
Node(Node<E> prev, E element, Node<E> next) {
this.item = element;
this.next = next;
this.prev = prev;
}
}
补充:
List(有序、可重复)
ArrayList 动态数组
Vector 动态数组
LinkedList 双向链表
Set(无序、唯一)
HashSet 哈希表
LinkedHashSet 链表和哈希表
TreeSet 红黑树
Map(键值对)
HashMap -jdk1.8之前 (数组+单向链表) 哈希表
jdk1.8之后 (数组+单向链表或红黑树) 哈希表
LinkedHashMap 链表和哈希表
TreeMap-红黑树