美文网首页干货分享
Java——TreeMap常用methods

Java——TreeMap常用methods

作者: 小白菜aaa | 来源:发表于2020-10-08 20:48 被阅读0次

前言

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的所有元素

结尾

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

相关文章

网友评论

    本文标题:Java——TreeMap常用methods

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