LinkedList类的底层是链接列表。同时它也是线程不同步的。LinkedList类也实现了collection,List的所有方法。因为它的底层是链表,所以它拥有头和尾,并且围绕头和尾设计了它独有的方法。
使用LinkedList类可以模拟数据结构:
堆栈:先存进去的后出来,后存进去的先出来。
队列:先存进去的先出来,后存进去的后出来。
链接列表:多个节点组成,节点有两块空间,左边一个空间是数据,右边一个空间是引用。
单向链表:后一个节点的地址存放在前一个节点的引用中。最后一个节点的引用存放的是null,第一个节点是头,最后一个是尾。
LinkedList类的底层使用的就是单向链表。
import java.util.LinkedList;
public class LinkedDemo {
public static void main(String[] args) {
LinkedList l=new LinkedList();
l.addFirst("lishuai");
l.addFirst("aaa");
l.addLast("shuai");
Object o=l.removeFirst();
System.out.println(o);
System.out.println(l);
}
}
LinkedList类中的方法理解起来比较简单,其中有一些不同名担有相同作用的方法,这里就不一一细说了。
这里说一下使用LinkedList类可以模拟数据结构:
import java.util.LinkedList;
public class LinkedListDemo {
public static void main(String[] args) {
Queue q=new Queue();
q.myadd("lishuai");
q.myadd("shuai");
q.myadd("shuai");
q.myadd("shuai");
q.myGet();
q.myGet2();
}
}
class Queue{
private final LinkedList l=new LinkedList();
public void myadd(Object o){
l.add(o);
}
public Object myGet(){//队列模式
return l.removeFirst();
}
public Object myGet2(){//堆栈模式
return l.removeLast();
}
}