数组和链表的对比
数组和链表的对比.png
前面提到的动态数组,栈和队列,底层依托的都是静态的数组
这节涉及到的链表才是真正的动态数据结构
数据存储在节点中
节点与节点之间由指针连接
优点
真正的动态,需要多少数据,就生成多少节点,将他们挂接起来即可
缺点
失去了随机访问的能力
链表的基本实现
public class LinkedList<E> {
private class Node{
public E e;
public Node next;
public Node(E e, Node next){
this.e = e;
this.next = next;
}
public Node(E e){
this(e, null);
}
public Node(){
this(null, null);
}
@Override
public String toString(){
return e.toString();
}
}
}