java集合类——LinkedList类

LinkedList是实现List接口。LinkedList类有很多方法,对头尾的操作都提供了方法。如addFirst(),addLast()等等。LinkedList与Stack的顺序刚好相反,是先进先出的。

import java.util.LinkedList;


public class LinkedListTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		LinkedList<String> linkedList = new LinkedList<String>();
		linkedList.add("1");
		linkedList.add("2");
		linkedList.add("3");
		linkedList.add("4");
		linkedList.addFirst("add first");
		linkedList.addLast("add last");
		System.out.println(linkedList);
		linkedList.offerFirst("offer first");
		linkedList.offerLast("offer last");
		System.out.println(linkedList);
		linkedList.offer("offer");
		System.out.println(linkedList);
		System.out.println(linkedList.pop());
		System.out.println(linkedList);
		System.out.println(linkedList.getLast());
	}

}

输出:
[add first, 1, 2, 3, 4, add last]
[offer first, add first, 1, 2, 3, 4, add last, offer last]
[offer first, add first, 1, 2, 3, 4, add last, offer last, offer]
offer first
[add first, 1, 2, 3, 4, add last, offer last, offer]
offer

从结果看,个人认为,没有指定位置的add()和addFirst(),offer(),offerFirst()是基本没什么区别,都是在最前面出入对象,addLast()和offerLast()也基本没什么区别。
还有element()和peek()方法的作用完全一样。
为什么要提供那么多相同作用的方法呢?
因为LinkedList实现了一系列的接口才导致这种情况出现的。

以上均为自己的理解,如有不对,忘君指教,不胜感激。。。

你可能感兴趣的:(java,LinkedList,集合类)