ArrayList特点:底层使用数组数据结构,查询速度快(使用脚标查),插入删除慢(索引要改变)
LinkedList特点:底层使用链表数据结构,查询慢(需要一个一个去问),插入删除快
Vector特点:底层是数组数据结构,线程同步,被ArrayList替代了
ArrayList
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList lists=new ArrayList();
lists.add("test01");
lists.add("test01");
lists.add("test02");
lists.add("test02");
lists=getSingleArray(lists);
System.out.println(lists);//输出:[test01, test02]
}
/**
* 去除重复
* @param array
* @return
*/
public static ArrayList getSingleArray(ArrayList array){
ArrayList res=new ArrayList();
for(Object obj:array){
if(!res.contains(obj)){
res.add(obj);
}
}
return res;
}
}
LinkedList特有的功能与first,last有关,例如 addFirst(),getFirst(),removeFirst()
import java.util.LinkedList;
public class LinkedListDemo {
public static void main(String[] args) {
LinkedList links=new LinkedList();
links.add("link01");
links.add("link02");
links.add("link03");
while(!links.isEmpty()){
System.out.println(links.pollFirst());
}
}
}
Vector特有的功能与element有关的,枚举
import java.util.Enumeration;
import java.util.Vector;
/**
* Vector demo
* @author taoshihan
*
*/
public class VectorDemo {
public static void main(String[] args) {
Vector v=new Vector();
v.add("vector1");
v.add("vector2");
v.add("vector3");
Enumeration e=v.elements();
while(e.hasMoreElements()){
System.out.println(e.nextElement());
}
}
}