谈谈对集合框架的理解?
集合框架包括集合不映射(Collection and Map)
List 元素有先后次序的集合, 元素有 index 位置, 元素可以重復,繼承自 Collection 接口,實現類: ArrayList, Vector, LinkedList
List 表示有先后次序的對象集合
ArrayList是使用變長數組算法實現的,ArrayList 實現自 List
1) ?ArrayList 和 Vector 的比較
n ?Vector(1.0 版本提供的),線程安全的,效率稍低,也是使用變長數組算法實現的,繼承自 List 接口
n ? ArrayList,線程不安全的,效率高速度快(現在較常用)
? 2) ArrayList 和 LinkedList 的比較
n ?LinkedList 是采用雙向循環鏈表實現的?List
n ????ArrayList 是采用變長數組算法實現的的?List
在ArrayList的中間插入或刪除一個元素意味著這個列表中剩余的元素都會被移動;而在LinkedList的中間插入或刪除一個元素的開銷是固定的。
ArrayList查詢速度快,而LinkedList增刪速度快
Set 元素無續, 不能重復添加, 是數學意義上的集合, 繼承自 Collection 接口
n ?實現類: HashSet(是一個只有?Key的?HashMap),使用Set時要重寫hashCode,equals方法
HashMap 以鍵-值對(關鍵字:值)的形式存儲對象,關鍵字 key 是唯一的、不重復的
1) ?key 可以是任何對象,Value可以任何對象
2) ?(key:value)成對放置在集合中
3) ?重復的 key 算一個,重復添加是替換操作(會覆蓋原來的元素)
4) HashMap 根據 key 檢索查找value 值
HashMap ????新,非線程安全,不檢查鎖,快
Hashtable ???舊 ?(JDK1.2 版本以前),線程安全,檢查鎖,慢一點(差的很小)
?
總結
以上是生活随笔為你收集整理的谈谈对集合框架的理解?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pythoncount函数怎么用_pyt
- 下一篇: tos重装mysql_云服务器(腾讯云)