* Collection
* List(存取有序,有索引,能夠重複)
* ArrayList
* 底層是數組實現的,線程不安全,查找和修改快,增和刪比較慢
* LinkedList
* 底層是鏈表實現的,線程不安全,增和刪比較快,查找和修改比較慢
* Vector
* 底層是數組實現的,線程安全的,不管增刪改查都慢
* 若是查找和修改多,用ArrayList
* 若是增和刪多,用LinkedList
* 若是都多,用ArrayList
* Set(存取無序,無索引,不能夠重複)
* HashSet
* 底層是哈希算法實現
* LinkedHashSet
* 底層是鏈表實現,可是也是能夠保證元素惟一,和HashSet原理同樣
* TreeSet
* 底層是二叉樹算法實現
* 通常在開發的時候不須要對存儲的元素排序,因此在開發的時候大多用HashSet,HashSet的效率比較高
* TreeSet在面試的時候比較多,問你有幾種排序方式,和幾種排序方式的區別
* Map
* HashMap
* 底層是哈希算法,針對鍵
* LinkedHashMap
* 底層是鏈表,針對鍵
* TreeMap
* 底層是二叉樹算法,針對鍵
* 開發中用HashMap比較多
面試