Collection與List
[java] view plain copy print?
---|Collection: 單列集合
---|List: 有存儲順序, 可重複
---|ArrayList: 數組實現, 查找快, 增刪慢
由於是數組實現, 在增和刪的時候會牽扯到數組
增容, 以及拷貝元素. 所以慢。數組是可以直接
按索引查找, 所以查找時較快
---|LinkedList: 鏈表實現, 增刪快, 查找慢
由於鏈表實現, 增加時只要讓前一個元素記住自
己就可以, 刪除時讓前一個元素記住後一個元
素, 後一個元素記住前一個元素. 這樣的增刪效
率較高但查詢時需要一個一個的遍歷, 所以效率
較低
---|Vector: 和ArrayList原理相同, 但線程安全, 效率略低
和ArrayList實現方式相同, 但考慮了線程安全問
題, 所以效率略低
---|Set: 無存儲順序, 不可重複
---|HashSet
---|TreeSet
---|LinkedHashSet
---| Map: 鍵值對
---|HashMap
---|TreeMap
---|HashTable
---|LinkedHashMap