TreeMap是壹組有序鍵值,通過紅黑樹來實現。根據所使用的構造方法,映射根據其鍵的自然順序或根據創建映射時提供的比較器進行排序。繼承自AbstractMap,所以它是壹個Map,也就是壹個key-value集合。
實現NavigableMap接口支持壹系列導航方法,比如返回壹組有序的鍵。可克隆接口可以克隆,java.io.Serializable接口支持序列化。TreeMap基本操作的時間復雜度包含Key、get、put和remove是log。此外,TreeMap是異步的。其叠代器方法返回的叠代器是fail—fastl。
樹形圖的基本特征:
1,有序
TreeMap通過紅黑樹數據結構維護鍵值對的順序,因此可以保證鍵值對按照鍵的自然順序或用戶自定義順序排列,可以快速插入、搜索和刪除。
2.獨特元素
TreeMap中的鍵是唯壹的,所以同壹個鍵只能存儲壹個元素。如果將現有的鍵插入到樹圖中,新值將覆蓋原始值。
3.分類能力
因為TreeMap是有序的,所以它提供了多種按鍵排序的方式,比如自然排序和自定義排序。
4.可映射性
TreeMap是壹種映射表數據結構,可以用鍵查找對應的值,也支持鍵值對的遍歷操作。
5.該線程不安全
與HashMap類似,TreeMap是線程不安全的。如果在多線程環境中使用,就需要同步。