![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90TUapnRtllZxIjY5plMYVnSYlFb4JDWvB3RiZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zN4QzM0cDN0ETOwkDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
public class LinkedList<E> extends AbstractSequentialList<E>implements List<E>, Deque<E>, Cloneable, Serializable
List 接口的連結清單實作。實作所有可選的清單操作,并且允許所有元素(包括 null)。除了實作 List 接口外,LinkedList 類還為在清單的開頭及結尾 get、remove 和 insert 元素提供了統一的命名方法。這些操作允許将連結清單用作堆棧、隊列或雙端隊列。
此類實作 Deque 接口,為 add、poll 提供先進先出隊列操作,以及其他堆棧和雙端隊列操作。
所有操作都是按照雙重連結清單的需要執行的。在清單中編索引的操作将從開頭或結尾周遊清單(從靠近指定索引的一端)。
package newFeatures8;
import java.util.LinkedList;
/*
LinkedList:特有方法:
addFirst();
addLast();
getFirst();
getLast();
擷取元素,但不删除元素。如果集合中沒有元素,會出現NoSuchElementException
removeFirst();
removeLast();
擷取元素,但是元素被删除。如果集合中沒有元素,會出現NoSuchElementException
在JDK1.6出現了替代方法。
offerFirst();//替代了addFirst
offerLast();//替代了addLast
peekFirst();//替代了getFirst
peekLast();//替代了getLast
擷取元素,但不删除元素。如果集合中沒有元素,會傳回null。
pollFirst();//替代了removeFirst
pollLast();//替代了removeLast
擷取元素,但是元素被删除。如果集合中沒有元素,會傳回null。
*/
public class LinkedListDemo {
public static void main(String[] args) {
LinkedList<String> link = new LinkedList<>();
link.addLast("java01");
link.addLast("java02");
link.addLast("java03");
link.addLast("java04");
// sop(link);
// sop(link.getFirst());
// sop(link.getFirst());
// sop(link.getLast());
// sop(link.removeFirst());
// sop(link.removeFirst());
// sop("size="+link.size());
while (!link.isEmpty()) {
sop(link.removeLast());
}
}
public static void sop(Object obj) {
System.out.println(obj);
}
}