1.List 繼承自 collection 接口,List 的元素有順序,並且能夠重複,各元素的順序就是對象插入的順序。數組
子類 Arraylist:儲存方式是數組(索引 0 開始),線程不安全,效率高,能夠根據因此位置對集合進行快速的隨機訪問,插入和刪除時因元素的位置而速度不一樣,由於插入或刪除一個元素時,後面的元素都須要調整一下順序;安全
子類 Linkedlist :儲存方式是雙向鏈表,插入和刪除快,由於每個值都有下一個值的地址,插入刪除時只須要調整下個值的指向就能夠了,可是查詢慢;線程
2.set 繼承自 collection 接口,set 的元素沒有順序,不能重複,Set 集合只是簡單地把對象加入到集合。對象
子類 HashSet:儲存方式是哈希表,利用 HashCode 和 equals 判斷元素是否重複繼承
子類 TreeSet:儲存方式是二叉樹,使用它能夠從 Set 中提取有序(升序或者降序)的序列。索引
3.Map 沒有實現任何接口,map 的元素沒有順序,經過鍵值對存取,鍵不能重複,值能夠重複-接口
子類 HashMap:儲存方式哈希表,線程不安全(不一樣步),提供全部可選的映射操做,容許使用 null 鍵和 null 值同步
子類 HashTable:線程安全(同步)io