TreeMap是Java集合框架中的一種有序映射,它基于紅黑樹實現(xiàn),可以用來存儲鍵值對,并根據(jù)鍵的自然順序或者指定的比較器對鍵進(jìn)行排序。
TreeMap的用法如下:
TreeMap<K, V> treeMap = new TreeMap<>();
TreeMap<K, V> treeMap = new TreeMap<>(comparator);
put(key, value)
方法將鍵值對添加到TreeMap中。如果鍵已經(jīng)存在,則會更新對應(yīng)的值。treeMap.put(key, value);
get(key)
方法根據(jù)鍵獲取對應(yīng)的值。如果鍵不存在,則返回null。V value = treeMap.get(key);
remove(key)
方法根據(jù)鍵刪除對應(yīng)的鍵值對。treeMap.remove(key);
entrySet()
方法獲取所有的鍵值對,然后使用迭代器或者增強(qiáng)for循環(huán)遍歷。for (Map.Entry<K, V> entry : treeMap.entrySet()) {
K key = entry.getKey();
V value = entry.getValue();
// 處理鍵值對
}
keySet()
方法獲取所有的鍵的集合,或者使用values()
方法獲取所有的值的集合。Set<K> keySet = treeMap.keySet();
Collection<V> values = treeMap.values();
size()
方法可以返回鍵值對的數(shù)量,containsKey(key)
方法可以判斷是否包含指定的鍵等等。需要注意的是,TreeMap中的鍵必須是可比較的,即要么實現(xiàn)Comparable接口,要么在創(chuàng)建TreeMap時指定比較器。如果沒有指定比較器,則鍵的類必須實現(xiàn)Comparable接口。