1. 程式人生 > >集合之TreeMap(含JDK1.8源碼分析)

集合之TreeMap(含JDK1.8源碼分析)

性能 使用 hash 很好 key entry 進行 自然 try

一、前言

  前面所說的hashMap和linkedHashMap都不具備統計的功能,或者說它們的統計性能的時間復雜度都不是很好,要想對兩者進行統計,需要遍歷所有的entry,時間復雜度比較高,此時,我們就需要使用treeMap。

  treeMap的key按照自然順序進行排序或根據創建時提供的comparator接口進行排序,TreeMap為增、刪、改、查這些操作提供了log(N)的時間開銷,從存儲角度而言,這比HashMap與LinkedHashMap的O(1)時間復雜度要差些;但是在統計性能上,TreeMap同樣可以保證log(N)的時間開銷,這又比HashMap與LinkedHashMap的O(N)時間復雜度好不少。

集合之TreeMap(含JDK1.8源碼分析)