- Java.util 包类
- Java.util - 首页
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util 包扩展
- Java.util - 接口
- Java.util - 异常
- Java.util - 枚举
- Java.util 有用资源
- Java.util - 有用资源
- Java.util - 讨论
Java TreeMap 类
简介
Java TreeMap 类是基于红黑树实现的 Map 接口。以下是关于 TreeMap 的重要要点:
TreeMap 类保证 Map 将按升序键排序。
Map 根据键类的自然排序方法进行排序,或者根据在 Map 创建时提供的 Comparator 进行排序,这将取决于使用哪个构造函数。
类声明
以下是 java.util.TreeMap 类的声明:
public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, Serializable
参数
以下是 java.util.TreeMap 类的参数:
K - 这是此 Map 保持的键的类型。
V - 这是映射值的类型。
类构造函数
序号 | 构造函数和描述 |
---|---|
1 | TreeMap() 此构造函数使用其键的自然排序构建一个新的空 TreeMap。 |
2 | TreeMap(Comparator<? super K> comparator) 此构造函数根据给定的 Comparator 构建一个新的空 TreeMap。 |
3 | TreeMap(Map<? extends K,? extends V> m) 此构造函数构建一个新的 TreeMap,其中包含与给定 Map 相同的映射,并根据其键的自然排序进行排序。 |
4 | TreeMap(SortedMap<K,? extends V> m) 此构造函数构建一个新的 TreeMap,其中包含与指定的已排序 Map 相同的映射,并使用相同的排序。 |
类方法
序号 | 方法和描述 |
---|---|
1 | Map.Entry<K,V> ceilingEntry(K key)
此方法返回与大于或等于给定键的最小键关联的键值映射,如果不存在此类键,则返回 null。 |
2 | K ceilingKey(K key)
此方法返回大于或等于给定键的最小键,如果不存在此类键,则返回 null。 |
3 | void clear()
此方法从此 Map 中删除所有映射。 |
4 | Object clone()
此方法返回此 TreeMap 实例的浅拷贝。 |
5 | boolean containsKey(Object key)
此方法如果此 Map 包含指定键的映射,则返回 true。 |
6 | boolean containsValue(Object value)
此方法如果此 Map 将一个或多个键映射到指定值,则返回 true。 |
7 | NavigableSet<K> descendingKeySet()
此方法返回此 Map 中包含的键的反向顺序 NavigableSet 视图。 |
8 | NavigableMap<K,V> descendingMap()
此方法返回此 Map 中包含的映射的反向顺序视图。 |
9 | Set<Map.Entry<K,V>> entrySet()
此方法返回此 Map 中包含的映射的 Set 视图。 |
10 | Map.Entry<K,V> firstEntry()
此方法返回与此 Map 中的最小键关联的键值映射,如果 Map 为空,则返回 null。 |
11 | K firstKey()
此方法返回当前在此 Map 中的第一个(最小)键。 |
12 | Map.Entry<K,V> floorEntry(K key)
此方法返回与小于或等于给定键的最大键关联的键值映射,如果不存在此类键,则返回 null。 |
13 | K floorKey(K key)
此方法返回小于或等于给定键的最大键,如果不存在此类键,则返回 null。 |
14 | V get(Object key)
此方法返回指定键映射到的值,如果此 Map 不包含该键的映射,则返回 null。 |
15 | SortedMap<K,V> headMap(K toKey)
此方法返回此 Map 的一部分的视图,其键严格小于 toKey。 |
16 | Map.Entry<K,V> higherEntry(K key)
此方法返回与严格大于给定键的最小键关联的键值映射,如果不存在此类键,则返回 null。 |
17 | K higherKey(K key)
此方法返回严格大于给定键的最小键,如果不存在此类键,则返回 null。 |
18 | Set<K> keySet()
此方法返回此 Map 中包含的键的 Set 视图。 |
19 | Map.Entry<K,V> lastEntry()
此方法返回与此 Map 中的最大键关联的键值映射,如果 Map 为空,则返回 null。 |
20 | K lastKey()
此方法返回当前在此 Map 中的最后一个(最大)键。 |
21 | Map.Entry<K,V> lowerEntry(K key)
此方法返回与严格小于给定键的最大键关联的键值映射,如果不存在此类键,则返回 null。 |
22 | K lowerKey(K key)
此方法返回严格小于给定键的最大键,如果不存在此类键,则返回 null。 |
23 | NavigableSet<K> navigableKeySet()
此方法返回此 Map 中包含的键的 NavigableSet 视图。 |
24 | Map.Entry<K,V> pollFirstEntry()
此方法删除并返回与此 Map 中的最小键关联的键值映射,如果 Map 为空,则返回 null。 |
25 | Map.Entry<K,V> pollLastEntry()
此方法删除并返回与此 Map 中的最大键关联的键值映射,如果 Map 为空,则返回 null。 |
26 | V put(K key, V value)
此方法将指定值与此 Map 中的指定键关联。 |
27 | void putAll(Map<? extends K,? extends V> map)
此方法将指定 Map 中的所有映射复制到此 Map。 |
28 | V remove(Object key)
如果存在,此方法从此 TreeMap 中删除此键的映射。 |
29 | int size()
此方法返回此 Map 中键值映射的数量。 |
30 | SortedMap<K,V> subMap(K fromKey, K toKey)
此方法返回此 Map 的一部分的视图,其键范围从 fromKey(包含)到 toKey(不包含)。 |
31 | SortedMap<K,V> tailMap(K fromKey)
此方法返回此 Map 的一部分的视图,其键大于或等于 fromKey。 |
32 | Collection<V> values()
此方法返回此 Map 中包含的值的 Collection 视图。 |
继承的方法
此类继承以下类的 method:
- java.util.AbstractMap
- java.util.Object
- java.util.Map
从 TreeMap 中添加和获取值的示例
以下示例显示了 Java TreeMap get() 方法的使用,用于获取 Map 中与给定键关联的值。我们创建了一个 Integer、Integer 的 TreeMap 对象。然后添加了一些条目,并使用 get() 打印给定键的值。
package com.tutorialspoint; import java.util.TreeMap; public class TreeMapDemo { public static void main(String[] args) { // creating tree map TreeMap<Integer, Integer> treemap = new TreeMap<>(); // populating tree map treemap.put(2, 2); treemap.put(1, 1); treemap.put(3, 3); treemap.put(6, 6); treemap.put(5, 5); System.out.println("Checking value for key 3"); System.out.println("Value is: "+ treemap.get(3)); } }
让我们编译并运行以上程序,这将产生以下结果。
Checking value for key 3 Value is: three