Vector和LinkedList

/*
List的三个子类对象:
1、ArrayList:底层的数据结构为数据,查询速度快,增改慢(JDK出现)。线程不同步。长度为10,按50%增加,
			  原理:把旧元素赋值到新的集合中,然后再后面添加
2、LinkedList:底层使用的是链表数据结构,增改快,查询慢

3、Vector:底层是数据结构,增改查都慢,已被ArrayList替换(JDK1.0出现)。线程同步。长度默认为10,超过就自增20,按100%增加
详解:
Vector:
枚举Enumeration是Vector的专有取出方式。与迭代器相同

LinkedList:类似链表操作。
1、addFirst()
2、addLast();
3、removeFirst();			//获取或删除元素,如果集合为空,会抛出NoSuchElementException
4、removeLast()
5、E getFirst();		//只删除,不取值
6、E removeFirst();		//删除且取值

JDK1.6出现替代,为空会为null,不抛出异常。
1、peekFirst() 获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。
2、peekLast() 获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null。
3、poll()  获取并移除此列表的头(第一个元素)
4、pollFirst()  获取并移除此列表的第一个元素;如果此列表为空,则返回 null。
5、pollLast() 获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。
*/
import java.util.*;
class  VectorDemo
{
	public static void main(String[] args) 
	{
		DoLinkedList();
	}

	public static void DoVector()
	{
		Vector vec = new Vector();
		vec.add("java1");
		vec.add("ava2");
		Enumeration en = vec.elements();
		while(en.hasMoreElements())
		{
			System.out.print(en.nextElement());
		}
	}

	public static void DoLinkedList()
	{
		LinkedList plink = new LinkedList();
		plink.add("java1");
		plink.add("java2");
		plink.add("java3");
		plink.add("java4");
		System.out.print("原数据:");
		System.out.println(plink);

		while(!plink.isEmpty())
		{
			System.out.print(plink.removeFirst());			//由于removeFirst返回删除要素,所以可以这样
		}
	}
}

原文地址:https://www.cnblogs.com/dengshiwei/p/4258505.html