ArrayList与LinkedList

来源:互联网 发布:快速下载淘宝 编辑:程序博客网 时间:2024/05/21 19:08

Collection: 

Set  and  List

Set:

HashSet  and TreeSet

List:

ArrayList and  LinkedList  and  Vector(Vector与ArrayList基本相同,不同的是ArrayList是非线程安全的(不同步),LinkedList是线程安全的(同步))

Set:无序不重复

List:有序可重复

ArrayList:

ArrayList实际上是数组实现的,所以方便遍历。

LinkedList:

链表,适用于添加,删除


HashSet:

适合查找,因为查找时无需遍历(用到Map),性能极高。无get()方法,因为无序


Map(key=value):   

 HashMap  and TreeMap  (Collection与Map都是接口)


import java.util.ArrayList;import java.util.LinkedList;import java.util.List;public class TestLinkedList {public static void main(String[] args){LinkedList<String> list = new LinkedList<String>();//ArrayList遍历快//linkedlist插入删除快//两个相互转换List<String> list1 = new LinkedList<String>(); for(int i=0;i<100000;i++){list1.add("1");}list1.add(3, "a");List<String> list2 =new ArrayList<String>();list2.addAll(list1);for(String s:list2){System.out.println(s);}}}


1 0