複習java7 集合的底層實現理解

一、ArrayList數組

特色:查詢快,增刪慢,能夠重複,無序數據結構

實現:底層是用數組實現的,在添加數據的時候,當數組已經滿了,會擴容,默認增長1.5倍的原數組長度,並將舊的數組數據拷貝到新的數組上。List

二、LinkedList二叉樹

特色:查詢慢,增刪快,可重複,有序數據

實現:底層實現雙向列表的Node節點 記錄上一個、下一個節點,還有當前值查詢

三、TreeMap底層

特色:有序,不重複。ab

實現:使用Entry實現,記錄左Entry 右Entry 父Entry,二叉樹數據結構,每次添加的Entry先和根Entry比較,比它大的,就從他的右Entry開始,與之比較;比它小的則從他的左Entry開始比較,一直比較下去,直到和要比較的Entry的左或者右Entry爲空時結束比較,並記錄他的父Entry爲該Entry,並給該父Entry設置左或右Entry。

四、TreeSet

底層是用TreeMap實現的

五、HashMap

特色:無序,不重複

實現:Node數組實現

六、HashTable

七、LinkedHashMap

相關文章
相關標籤/搜索