List , Set, Map都是接口,前兩個繼承至Collection接口,Map爲獨立接口,數組
2,Set下有HashSet,LinkedHashSet,TreeSet安全
3,List下有ArrayList,Vector,LinkedList數據結構
4,Map下有Hashtable,LinkedHashMap,HashMap,TreeMap性能
5,Collection接口下還有個Queue接口,有PriorityQueue類spa
注意:線程
1,Queue接口與List、Set同一級別,都是繼承了Collection接口。code
2,看圖你會發現,LinkedList既能夠實現Queue接口,也能夠實現List接口.只不過呢, LinkedList實現了Queue接口。Queue接口窄化了對LinkedList的方法的訪問權限blog
(即在方法中的參數類型若是是Queue時,就徹底只能訪問Queue接口所定義的方法 了,而不能直接訪問 LinkedList的非Queue的方法),以使得只有恰當的方法才能夠使用。繼承
3,SortedSet是個接口,它裏面的(只有TreeSet這一個實現可用)中的元素必定是有序的。接口
========================================
ArrayList(1)
Vector
======================================================
HashSet(2)
TreeSet
======================================================
======================================================
HashMap (3)(無序)
jdk8: 數組+鏈表+紅黑樹
HashTable(無序)
TreeMap
======================================================
迭代器遍歷
1 Set<String> set = new TreeSet<String> (); 2 set.add("seven1"); 3 set.add("seven2"); 4 set.add("seven3"); 5 set.add("seven4"); 6 set.add("seven5"); 7 // 遍歷 8 // for(String s : set){ 9 // System.out.println(s); 10 // } 11 // 迭代器遍歷 12 Iterator<String> iterator = set.iterator(); 13 while(iterator.hasNext()){ 14 System.out.println(iterator.next()); 15 }