Set
TreeSet 基于紅黑樹實(shí)現(xiàn),支持有序性操作,例如根據(jù)一個范圍查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的時間復(fù)雜度為 O(1),TreeSet 則為 O(logN)。 HashSet 基于哈希表實(shí)現(xiàn),支持快速查找,但不支持有序性操作。并且失去了元素的插入順序信息,也就是說使用 Iterator 遍歷 HashSet 得到的結(jié)果是不確定的。 LinkedHashSet 具有 HashSet 的查找效率,且內(nèi)部使用雙向鏈表維護(hù)元素的插入順序。
List
ArrayList 基于動態(tài)數(shù)組實(shí)現(xiàn),支持隨機(jī)訪問。Vector 和 ArrayList 類似,但它是線程安全的。LinkedList 基于雙向鏈表實(shí)現(xiàn),只能順序訪問,但是可以快速地在鏈表中間插入和刪除元素。不僅如此,LinkedList 還可以用作棧、隊(duì)列和雙向隊(duì)列。
Queue
LinkedList