集:
HashSet: 使用HashMap的壹個集的實現。雖然集定義成無序,但必須存在某種方法能相當高效地找到壹個對象。使用壹個HashMap對象實現集的存儲和檢索操作是在固定時間內實現的.
TreeSet: 在集中以升序對對象排序的集的實現。這意味著從壹個TreeSet對象獲得第壹個叠代器將按升序提供對象。TreeSet類使用了壹個TreeMap.
列表:
Vector: 實現壹個類似數組壹樣的表,自動增加容量來容納妳所需的元素。使用下標存儲和檢索對象就象在壹個標準的數組中壹樣。妳也可以用壹個叠代器從壹個Vector中檢索對象。Vector是唯壹的同步容器類當兩個或多個線程同時訪問時也是性能良好的。
Stsck: 這個類從Vector派生而來,並且增加了方法實現棧壹種後進先出的存儲結構。
LinkedList: 實現壹個鏈表。由這個類定義的鏈表也可以像棧或隊列壹樣被使用。
ArrayList: 實現壹個數組,它的規模可變並且能像鏈表壹樣被訪問。它提供的功能類似Vector類但不同步。
映射:
HashTable: 實現壹個映象,所有的鍵必須非空。為了能高效的工作,定義鍵的類必須實現hashcode()方法和equal()方法。這個類是前面java實現的壹個繼承,並且通常能在實現映象的其他類中更好的使用。
HashMap: 實現壹個映象,允許存儲空對象,而且允許鍵是空(由於鍵必須是唯壹的,當然只能有壹個)。
WeakHashMap: 實現這樣壹個映象:通常如果壹個鍵對壹個對象而言不再被引用,鍵/對象對將被舍棄。這與HashMap形成對照,映象中的鍵維持鍵/對象對的生命周期,盡管使用映象的程序不再有對鍵的引用,並且因此不能檢索對象。
TreeMap: 實現這樣壹個映象,對象是按鍵升序排列的。
Set 和List都是由公***接口Collection擴展而來,所以它們都可以使用壹個類型為Collection的變量來引用。這就意味著任何列表或集構成的 集合都可以用這種方式引用,只有映射類除外(但也不是完全排除在外,因為可以從映射獲得壹個列表。)所以說,把壹個列表或集傳遞給方法的標準途徑是使用 Collection類型的參數。