TreeMap默認排序規則是按照key的字典順序來排序(升序)字典排序是?種對于隨機變量形成序列的排序?法。即按照字母順序,或者數字??順序,由?到?的形成序列。
TreeMap是一個有序的key—value集合,它是通過紅黑樹實現的,該映射根據其鍵的自然順序進行排序,或者根據創建映射時提供的Comparator進行排序,具體取決于使用的構造方法。繼承于AbstractMap,所以它是一個Map,即一個key—value集合。
實現NavigableMap接口支持一系列的導航方法,比如返回有序的key集合。實現Cloneable接口能被克隆,實現java.io.Serializable接口支持序列化。TreeMap的基本操作containsKey、get、put和remove的時間復雜度是log。另外,TreeMap是非同步的。它的Iterator方法返回的迭代器是fail—fastl的。
TreeMap的基本特點:
1、有序性
TreeMap通過紅黑樹數據結構來維護鍵值對的順序,因此它能夠保證鍵值對按照鍵的自然順序或自定義順序排列,而且可以快速地進行插入、查找和刪除等操作。
2、元素唯一
TreeMap中的鍵是唯一的,因此相同的鍵只能存儲一個元素。如果在TreeMap中插入一個已經存在的鍵,則新的值會覆蓋原有的值。
3、可排序性
由于TreeMap是有序的,因此它提供了多種按照鍵排序的方法,比如自然排序和自定義排序。
4、映射性
TreeMap是一種映射表數據結構,可以用鍵來查找對應的值,同時也支持鍵值對的遍歷操作。
5、線程不安全
與HashMap類似,TreeMap也是線程不安全的,如果在多線程環境下使用,需要進行同步處理。