1.hashmap
map基於雜湊表的實現(取代了hashtable)。插入和查詢「鍵值對」的開銷是固定的。可以通過構造器設定容量和負載因子,以調整容器效能。
2.linkedhashmap
類似於hashmap,但是迭代遍歷它時,取得「鍵值對」的順序是其插入順序,或者是最近最少使用(lru)的次序。只比hashmap慢一點點,但是迭代訪問時反而更快,因為它使用鍊錶維護內部次序。
3.treemap
基於紅黑樹的實現。檢視「鍵」或者「鍵值對」時,它們會被排序(次序由comparable或comparator決定)。treemap的特點在於:所得到的結果是經過排序的。treemap是唯一帶有submap()方法的map,它可以返回乙個子樹。
4.concurrenthashmap
一種執行緒安全的map,不涉及同步加鎖。
Map介面特點
注意 是jdk8的map介面特點 map與collection並列存在。用於儲存具有對映關係的資料 key value map中的 key 和 value可以是任何引用型別的資料,會封裝到hashmap node物件中 map中的key 不允許重複,原因和hashset一樣,前面分析過原始碼.map...
筆記 各種容器的特點
stl中基本容器有 string vector list deque set map set和map是無序的儲存元素 關聯容器 只能通過它提供的介面訪問元素。set 集合。用來判斷某個元素是否在乙個組裡。map 地圖。把乙個值對映成另乙個值。查詢 遍歷效果不錯。因為底層多用平衡二叉樹實現,所以插入時...
總結各種容器特點
1 vector 內部資料結構 陣列。隨機訪問每個元素,所需要的時間為常量。在末尾增加或刪除元素所需時間與元素數目無關,在中間或開頭增加或刪除元素所需時間隨元素數目呈線性變化。可動態增加或減少元素,記憶體管理自動完成,但程式設計師可以使用reserve 成員函式來管理記憶體。vector的迭代器在記...