美文网首页
Java集合TreeMap用法总结

Java集合TreeMap用法总结

作者: LaobingFung | 来源:发表于2019-02-24 20:30 被阅读0次

Java的TreeMap是集合框架中的一个实现类,TreeMap继承了AbstractMap。
TreeMap实现了NavigableMap接口,提供了多种方便的查找功能;
TreeMap实现了Cloneable接口,可以克隆;
TreeMap实现了Serialiable接口,可以序列化。

构造方法

  • TreeMap() 创建一个空的TreeMap,并且按照key的自然升序排序;
  • TreeMap(Comparator<? super K> comparator) 创建一个空的TreeMap,并且指定排序方法;
  • TreeMap(Map<? extends K, ? extends V> m) 根据给定的Map创建一个TreeMap,按照key的自然升序排序;
  • TreeMap(SortedMap<K, ? extends V> m) 根据一个有序的Map创建一个TreeMap,顺序与原Map相同。

常用方法

  • public V put(K key, V value) 添加一对键值对
  • public void putAll(Map<? extends K, ? extends V> map) 添加一个map的所有键值对

  • public V remove(Object key) 删除对应的键值对
  • public void clear() 删除所有元素

  • public Map.Entry<K,V> ceilingEntry(K key) 返回map中键值不小于参数key的最小键值对应的键值对,如果没有则返回null
  • public K ceilingKey(K key) 返回map中键值不小于参数key的最小键值
  • public final boolean containsKey(Object key) 判断是否含有某一键值
  • public boolean containsValue(Object value) 判断是否含有某一value
  • public NavigableMap<K, V> descendingMap() 返回一个降序排列的Map
  • public NavigableSet<K> descendingKeySet() 返回一个降序排列的由键名组成的Set
  • public Set<Map.Entry<K,V>> entrySet() 返回由原Map的键值对组成的Set
  • public K firstKey() 返回第一个key
  • public Map.Entry<K,V> firstEntry() 返回第一个键值对
  • public K floorKey(K key) 返回Map中不大于指定key的最大key值
  • public Map.Entry<K,V> floorEntry(K key) 返回Map中不大于指定key的最大key值所对应的键值对
  • public V get(Object key) 取出指定key对应的键值对
  • public SortedMap<K,V> headMap(K toKey) 返回key小于指定key的排序好的Map
  • public NavigableMap<K,V> headMap(K toKey, boolean inclusive) 返回key小于或小于等于指定key的排序好的Map
  • public K higherKey(K key) 返回key严格大于指定key的最小键
  • public Map.Entry<K,V> higherEntry(K key) 返回key严格大于指定key的最小键值对
  • public Set<K> keySet() 返回由key组成的Set
  • public K lastKey() 返回最后一个key
  • public Map.Entry<K,V> lastEntry() 返回最后一组键值对
  • public K lowerKey(K key) 返回key严格小于指定值的最大键
  • public Map.Entry<K,V> lowerEntry(K key) 返回key严格小于指定值的最大键值对
  • public NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) 返回key在指定范围内的子Map
  • public SortedMap<K,V> subMap(K fromKey, K toKey) 返回key在指定范围内的子Map
  • public NavigableMap<K,V> tailMap(K fromKey, boolean inclusive) 返回key小于或小于等于指定key的排序好的Map
  • public SortedMap<K,V> tailMap(K fromKey) 返回key大于指定key的排序好的Map

  • public V replace(K key, V value) 修改一对键值对
  • public boolean replace(K key, V oldValue, V newValue) 如果键值对的原值为指定值,则修改,否则不修改
  • public void replaceAll(BiFunction<? super K, ? super V, ? extends V> function) 按照指定函数运算修改所有键值对

其他

  • public Object clone() 克隆TreeMap
  • public Comparator<? super K> comparator() 返回该TreeMap的比较器

遍历

TreeMap提供了很多遍历接口,通用的有keySet(), entrySet(),还有倒序的descendingKeySet(),和各种取子Map的subMap(), tailMap(), headMap(),但是最终还是要用自增强的for循环或者用迭代器来遍历。

自增强for循环

        TreeMap<Integer, String> tmap = new TreeMap<>();
        tmap.put(1, "H");
        tmap.put(2, "E");
        tmap.put(3, "L");
        tmap.put(4, "L");
        tmap.put(5, "O");
        for (Map.Entry entry: tmap.entrySet()) {
            System.out.println(entry);
        }

迭代器

        Iterator iter = tmap.entrySet().iterator();
        while (iter.hasNext()) {
            System.out.println(iter.next());
        }

相关文章

  • Java集合TreeMap用法总结

    Java的TreeMap是集合框架中的一个实现类,TreeMap继承了AbstractMap。TreeMap实现了...

  • Java SE基础巩固(四):集合类

    1 集合概述 Java中有很多集合类,例如ArrayList,LinkedList,HashMap,TreeMap...

  • java常见的集合及用法

    java常见的集合: Map、HashMap、TreeMap List、ArrayList、LinkedList ...

  • Java集合中TreeMap的用法教程

    TreeMap是Map实现类SortMap的实现类。TreeMap实现了NavigableMap接口,内部的结构是...

  • Java TreeMap集合

    TreeMap是基于红黑树的NavigableMap实现.该映射根据其键的自然顺序进行排序,或者根据创建映射时提供...

  • JAVA集合——TreeMap

    一、基本概念 在介绍TreeMap之前,我们来了解一种数据结构:二叉树。相信学过数据结构的同学知道,这种结构的数据...

  • java集合----TreeMap

    csdn 个人博客 一.前言 对于 Map 接口常见的或者常用的一般都是 HashMap 或者 LinkedHas...

  • TreeMap用法总结

    TreeMap用法总结 TreeMap中的元素默认按照keys的自然排序排列。 (对Integer来说,其自然排序...

  • TreeMap理解

    1.环境 jdk:1.8 1.1介绍 本文将介绍java中集合框架中实现Map接口TreeMap ,TreeMap...

  • Map集合的五种遍历方式及Treemap方法

    Map集合:链接: Map集合的五种遍历方式及Treemap方法Set集合:链接: Java中遍历Set集合的三种...

网友评论

      本文标题:Java集合TreeMap用法总结

      本文链接:https://www.haomeiwen.com/subject/rarbyqtx.html