天天看點

java基礎之集合架構--LinkedList

java基礎之集合架構--LinkedList

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);
	}
}