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>