List
特點:元素有放入順序,元素可重復(fù)
- ArrayList :層數(shù)據(jù)結(jié)構(gòu)使用數(shù)組結(jié)構(gòu)五嫂, 查詢速度快房官。但是增刪稍慢。(線程不同步朽缎,數(shù)組0.5倍延長)
- LinkedList:底層使用鏈表數(shù)據(jù)結(jié)構(gòu)惨远, 增刪塊, 但是查詢慢话肖。
- Vector:底層是數(shù)組數(shù)據(jù)結(jié)構(gòu)北秽,查詢增刪慢(線程同步,數(shù)組百分百延長)已經(jīng)被ArrayList取代
Map
特點:元素按鍵值對存儲最筒,無放入順序
- HashMap:非線程安全贺氓,高效,支持null
- HashTable:線程安全床蜘,低效辙培,不支持null
- LinkedHashMap:線程不安全,有序邢锯,key和value都允許為空
Set
特點:元素?zé)o放入順序扬蕊,元素不可重復(fù)(注意:元素雖然無放入順序,但是元素在set中的位置是有該元素的HashCode決定的丹擎,其位置其實是固定的)
- HashSet(底層由HashMap實現(xiàn)) :存儲object的集合尾抑,既然是集合,就不允許有重復(fù)元素鸥鹉。判斷兩個元素是否相同蛮穿,是由hashCode與equals方法共同完成的。
- LinkedHashSet