hashmap:內部有個entry的內部類,它的實現原理是建立乙個entry的陣列。每乙個陣列元素指向乙個鍊錶,對於
新增的鍵值對,是封裝在entry中的,根據k得到對應的hash值,然後作為下標,放在對應陣列項的鍊錶中。該鍊錶
採用頭插法,對於已經存在相同k的物件,僅僅更新v即可。對於不存在的k的物件,封裝在entry,然後新增到鍊錶
中。k和v都可以為null。
hashtable:實現原理類似hashmap。但是hashtable支援同步,且k和v都不可以為null。
treemap:實現原理是紅黑樹,不支援同步,k不能為空。
JAVA 集合總結
如果涉及到堆疊,佇列等操作,應該考慮用list,對於需要快速插入,刪除元素,應該使用linkedlist,如果需要快速隨機訪問元素,應該使用arraylist。如果程式在單執行緒環境中,或者訪問僅僅在乙個執行緒中進行,考慮非同步的類,其效率較高,如果多個執行緒可能同時操作乙個類,應該使用同步的類。要...
java 集合總結
結構 collection list linkedlist arraylist vector stack set map hashtable hashmap weakhashmap 區別 類是否有序 是否執行緒安全 是否允許重複 是否允許空值 常用情景 描述總結 linkedlist有序否 是是對於...
java集合總結
set 其中的值不允許重複,無序的資料結構 list 其中的值允許重複,因為其為有序的資料結構 map 成對的資料結構,健值必須具有唯一性 鍵不能同,否則值替換 list按物件進入的順序儲存物件,不做排序或編輯操作。set對每個物件只接受一次,並使用自己內部的排序方法 通常,你只關心某個元素是否屬於...