天天看点

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