天气转凉除了衣服要多穿,知识也要多多积累啊 Java——TreeMap常用methods,还不赶紧收藏起来

    科技2026-02-19  7

    前言

    TreeMap用于存储与HashMap类非常相似的键值对。区别在于TreeMap提供了一种以排序顺序存储键/值对的有效方法。它是基于红黑树的NavigableMap实现。

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

    一、常用methods

    void clear(): 它从地图中删除所有键值对。

    int size(): 返回此映射中存在的键值对的数量。

    boolean containsKey(Object key) : 如果此映射包含指定键的映射,则返回 true。

    boolean containsValue(Object value) : 如果此地图将一个或多个键映射到指定值,则返回 true 。

    Set<Map.Entry<K,V>> entrySet( ): 返回此地图中包含的映射的Set视图。常用于遍历。

    V get(Object key): 返回到指定键所映射的值,若没有则返回null。

    Set KeySet() : 返回此地图中包含的键的Set视图。 常用于遍历map中的Key。

    V put(K key, V value) : 将指定的值与此映射中的指定键相关联。即将键值对加入map中。

    V remove(Object key): 删除指定键的键值对。

    V replace(K key,V value): 替换指定键的值。

    V replace(K key,V oldValue,V newValue): 替换指定键值对的值。若不存在指定的键值对,则不操作。

    二、特有的methods

    Map.Entry <K,V> ceilingEntry(K key) : 返回最小的大于或等于指定的Key的元素,若没有,则返回null TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Entry entry = treeMap.ceilingEntry("2.5"); System.out.println(entry+"====="+entry.getKey()+"->"+entry.getValue()); entry = treeMap.ceilingEntry("4"); System.out.println(entry);

    K ceilingKey(K key) : 返回最小的大于或等于指定Key的Key,如果没有,则返回null TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Object obj = treeMap.ceilingKey("2.5"); System.out.println(obj); obj = treeMap.ceilingEntry("4"); System.out.println(obj);

    NavigableSetdescendingKeySet() : 返回集合的全部Key,并且是逆序的 TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Set set = treeMap.descendingKeySet(); System.out.println(set);

    NavigableMap<K,V> descendingMap() : 返回集合,并且是逆序的 TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); System.out.println(treeMap); Map map = treeMap.descendingMap(); System.out.println(map);

    Map.Entry<K,V> firstEntry() : 返回集合中含有最小的Key的元素 TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Entry entry = treeMap.firstEntry(); System.out.println(entry);

    K firstKey() : 返回集合中最小的Key TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Object obj = treeMap.firstKey(); System.out.println(obj);

    Map.Entry<K,V> floorEntry(K key) : 与ceilingEntry()方法相反,返回最大的小于等于指定Key的元素 TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Entry entry = treeMap.floorEntry("2.5"); System.out.println(entry);

    K floorKey(K key) : 返回最大的小于等于指定Key的Key TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Object obj = treeMap.floorKey("2.5"); System.out.println(obj);

    SortedMap<K,V> headMap(K Key) : 返回小于指定Key的所有元素 TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Map map = treeMap.headMap("2.5"); System.out.println(map);

    NavigableMap<K,V> headMap(K Key,boolean inclusive) : 当inclusive为true时,返回Key小于等于指定Key的所有元素 TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Map map = treeMap.headMap("2",true); System.out.println(map); map = treeMap.headMap("2",false); System.out.println(map);

    Map.Entry<K,V> higherEntry(K key) : 返回大于指定Key的所有元素 TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Entry entry = treeMap.higherEntry("2.5"); System.out.println(entry);

    K higherKey(K Key) : 返回大于指定Key的所有Key TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Object obj = treeMap.higherKey("2.5"); System.out.println(obj);

    Map.Entry<K,V> lastEntry() : 返回Key最大的元素 TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Entry entry = treeMap.lastEntry(); System.out.println(entry);

    K lastKey() : 返回最大的Key TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Object obj = treeMap.lastKey(); System.out.println(obj);

    Map.Entry<K,V> lowerEntry(K Key) : 返回小于指定key的最大元素 TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); Entry entry = treeMap.lowerEntry("2.5"); System.out.println(entry);

    K lowerKey(K Key) : 返回小于指定Key的最大的Key

    Map.Entry<K,V> pollFirstEntry() : 删除Key最小的元素

    TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); treeMap.pollFirstEntry(); System.out.println(treeMap);

    Map.Entry<K,V> pollLastEntry() : 删除Key最大的元素

    NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) : 截取集合中Key从fromKey到toKey的元素,是否截取他们本身,取决于true或者false

    TreeMap treeMap = new TreeMap(); treeMap.put("1", "demo1"); treeMap.put("2", "demo2"); treeMap.put("3", "demo3"); treeMap.put("4", "demo4"); Map map = treeMap.subMap("1",true, "4", true); System.out.println(map); map = treeMap.subMap("1",false, "4", true); System.out.println(map); map = treeMap.subMap("1",false, "4", false); System.out.println(map);

    SortedMap<K,V> subMap(K fromKey, K toKey) : 截取集合中Key从fromKey到toKey的元素,包括fromKey,不包括toKey

    SortedMap<K,V> tailMap(K fromKey) : 截取Key大于等于fromKey的所有元素

    NavigableMap<K,V> tailMap(K fromKey, boolean fromInclusive) : 当inclusive为true时,截取Key大于等于fromKey的所有元素,否则截取Key大于fromKey的所有元素

    结尾

    本文到这里就结束了,感谢看到最后的朋友,都看到最后了,点个赞再走啊,如有不对之处还请多多指正。

    Processed: 0.009, SQL: 9