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