Java TreeMap 类

Java.util包提供了一个TreeMap类,它是Map接口的基于红黑树的NavigableMap实现。 Map 根据其键的自然顺序进行排序,或者通过在创建 Map 时提供的比较器进行排序,具体取决于使用的构造函数。 该类保证 Map 将按升序键顺序排列。

类声明

java.util.TreeMap 类的声明是:

public class TreeMap<K,V>
  extends AbstractMap<K,V>
    implements NavigableMap<K,V>, Cloneable, Serializable

类构造函数

序号构造函数& 说明
1.TreeMap()
使用自然树图构造一个新的空树图其键的顺序。
2.TreeMap(Comparator<? super K> comparator)
构造一个新的空树图,根据给定的比较器排序。
3.TreeMap(Map<? extends K,? extends V> m)
构造一棵新树包含与给定映射相同的映射的映射,根据其键的自然顺序进行排序。
4.TreeMap(SortedMap<K,? extends V> m)
构造一个新的树形图,其中包含与指定的排序映射相同的映射并使用相同的顺序。

java.util.TreeMap 方法

java.util.TreeMap 类有许多方法,如下所示:

成员方法

序号方法和说明
1.Map.Entry<K,V> heavenEntry(K key)
返回与大于或等于给定键的最小键关联的键值映射,如果没有这样的键,则返回 null。
2.K ceilingKey(K key)
返回大于或等于给定键的最小键,如果没有这样的键,则返回 null。
3.void clear()
从此map中删除所有映射。
4.Object clone()
返回此 TreeMap 实例的浅表副本。
5.Comparator<? super K> comparator()
返回用于排序此映射中的键的比较器,如果此映射使用其键的自然排序,则返回 null。
6.boolean containsKey(Object key)
如果此映射包含指定键的映射,则返回 true。
7.boolean containsValue(Object key)
如果此映射将一个或多个键映射到指定值,则返回 true。
8.NavigableSet<K> DescendingKeySet()
返回此映射中包含的键的逆序 NavigableSet 视图。
9.NavigableMap<K,V> DescendingMap()
返回此映射中包含的映射的逆序视图。
10。Set<Map.Entry<K,V>> EntrySet()
返回此映射中包含的映射的集合视图。
11.Map.Entry<K,V> firstEntry()
返回与此映射中最小键关联的键值映射,如果映射为空,则返回 null。
12。KfirstKey()
返回当前此映射中的第一个(最低)键。
13.Map.Entry<K,V> FloorEntry(K key)
返回与小于或等于给定键的最大键关联的键值映射,如果没有这样的键,则返回 null。
14.K floorKey(K key)
返回小于或等于给定键的最大键,如果没有这样的键,则返回 null。
15。void forEach(BiConsumer<? super K, ? super V> action)
对此映射中的每个条目执行给定的操作,直到所有条目都已处理完毕或该操作引发异常。
16.V get(Object key)
返回指定键映射到的值,如果此映射不包含该键的映射,则返回 null。
17.SortedMap<K,V> headMap(K toKey)
返回此映射中键严格小于 toKey 的部分的视图。
18。NavigableMap<K,V> headMap(K toKey, boolean inclusive)
返回此映射中键小于(或等于,如果包含为 true)toKey 的部分的视图。
19.Map.Entry<K,V> upperEntry(K key)
返回与严格大于给定键的最小键关联的键值映射,如果不存在这样的键,则返回 null。
20。K higherKey(K key)
返回严格大于给定键的最小键,如果没有这样的键,则返回 null。
21。Set<K> keySet()
返回此映射中包含的键的集合视图。
22。Map.Entry<K,V> lastEntry()
返回与此映射中最大键关联的键值映射,如果映射为空,则返回 null。
23。KlastKey()
返回此映射中当前的最后一个(最高)键。
24。Map.Entry<K,V> lowerEntry(K key)
返回与严格小于给定键的最大键关联的键值映射,如果不存在这样的键,则返回 null。
25。K lowerKey(K key)
返回严格小于给定键的最大键,如果不存在这样的键,则返回 null。
26。NavigableSet<K> navigableKeySet()
返回此映射中包含的键的 NavigableSet 视图。
27。Map.Entry<K,V> pollFirstEntry()
删除并返回与此映射中最小键关联的键值映射,如果映射为空,则返回 null。
28。Map.Entry<K,V> pollLastEntry()
删除并返回与此映射中最大键关联的键值映射,如果映射为空,则返回 null。
29。V put(K key,V value)
将指定的值与此映射中的指定的键相关联。
30。void putAll(Map<? extends K, ? extends V> map)
将指定映射中的所有映射复制到此映射。
31.V remove(Object key)
从此 TreeMap 中删除该键的映射(如果存在)。
32。V replace(K key,V value)
仅当指定键当前映射到某个值时才替换该条目。
33。boolean replace(K key, V oldValue, V newValue)
仅当当前映射到指定值时才替换指定键的条目。
34。void ReplaceAll(BiFunction<? super K, ? super V,? extends V> function)
用在该条目上调用给定函数的结果替换每个条目的值,直到所有条目都已处理完毕或该函数引发异常。
35。int size()
返回此映射中键值映射的数量。
36。SortedMap<K,V> subMap(K fromKey, K toKey)
返回此映射的部分视图,其键范围从 fromKey(包含)到 toKey(不包含)。
37。NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
返回此映射中键范围从 fromKey 到 toKey 的部分的视图。
38。SortedMap<K,V> tailMap(K fromKey)
返回此映射中键大于或等于 fromKey 的部分的视图。
39。NavigableMap<K,V> tailMap(K fromKey,boolean inclusive)
返回此映射中键大于(或等于,如果包含为 true)fromKey 的部分的视图。
40。Collection<V> values()
返回此映射中包含的值的集合视图。

继承的方法

该类继承了以下类的方法:

  • java.lang.Object
  • java.util.AbstractMap<K,V>