专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

TreeMap集合方法API实例演示

TreeMap

概述

TreeMap集合是基于红黑树(Red-Black tree)的 NavigableMap实现。该集合最重要的特点就是可排序,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator方法进行排序。

API方法实例演示

ceilingEntry

@Test
public void ceilingEntry() {
    //ceilingEntry: 返回指定键的键值对数据
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"ceilingEntry");
    //根据1号键获取数据
    Map.Entry<Integer, String> entry = treeMap.ceilingEntry(1);
    System.out.println(entry);
}

ceilingKey

@Test
public void ceilingKey() {
    //ceilingKey: 返回指定的键
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"ceilingKey");
    //设置返回的键
    Integer ceilingKey = treeMap.ceilingKey(1);
    System.out.println(ceilingKey);
}

clear

@Test
public void clear() {
    //clear: 清除所有的键值对
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"clear");
    treeMap.clear();
}

Clone

@Test
public void Clone() {
    //clone: 拷贝集合的键值对
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"clone");
    //复制打印集合数据
    System.out.println("treeMap.clone() = " + treeMap.clone());
}

containsKey

@Test
public void containsKey() {
    //containsKey: 判断是否包含指定的键,包含则返回true
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"containsKey");
    //有1这个键,打印为true
    System.out.println("treeMap.containsKey(2) = " + treeMap.containsKey(1));
}

containsValue

@Test
public void containsValue() {
    //containsValue: 判断是否包含指定的值,包含则返回true
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"containsValue");
    System.out.println(treeMap.containsValue("containsValue"));
}

descendingKeySet

@Test
public void descendingKeySet() {
    //descendingKeySet: 返回键的相反顺序,倒序输出
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"descendingKeySet");
    treeMap.put(2,"descendingKeySet");
    treeMap.put(3,"descendingKeySet");
    //输出键分别为3,2,1
    System.out.println("treeMap.descendingKeySet() = " + treeMap.descendingKeySet());
}

descendingMap

@Test
public void descendingMap() {
    //descendingMap: 按照倒序返回集合的数据
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"descendingMap");
    treeMap.put(2,"descendingMap");
    treeMap.put(3,"descendingMap");
    NavigableMap<Integer, String> descendingMap = treeMap.descendingMap();
    //按照倒序打印集合数据
    System.out.println(descendingMap);
}

entrySet

@Test
public void entrySet() {
    //entrySet: 遍历所有集合的数据
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"entrySet");
    treeMap.put(2,"entrySet");
    Set<Map.Entry<Integer, String>> entries = treeMap.entrySet();
    //使用增强for循环遍历
    for (Map.Entry<Integer, String> entry : entries) {
        System.out.println(entry.getKey() + entry.getValue());
    }
}

firstEntry

@Test
public void firstEntry() {
    //firstEntry: 返回集合中最小的键值
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(0,"firstEntry");
    treeMap.put(1,"firstEntry");
    treeMap.put(2,"firstEntry");
    //最小的0键会被打印
    Map.Entry<Integer, String> firstEntry = treeMap.firstEntry();
    System.out.println(firstEntry);
}

firstKey

@Test
public void firstKey() {
    //firstKey: 返回集合中最小值的key
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(0,"firstKey");
    treeMap.put(1,"firstKey");
    System.out.println("treeMap.firstKey() = " + treeMap.firstKey());
}

floorEntry

@Test
public void floorEntry() {
    //floorEntry: 返回等于或大于集合中key的值
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"floorEntry");
    //指定的key大于集合的key,返回键值对数据
    System.out.println(treeMap.floorEntry(2));
}

floorKey

@Test
public void floorKey() {
    //floorKey: 返回大于或等于集合中的key
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"floorKey");
    //2键大于集合的key,会打印集合中的key
    System.out.println(treeMap.floorKey(2));
}

forEach

@Test
public void forEach() {
    //forEach: 对集合进行指定的操作
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"forEach");
    //KV表示键和值遍历,下面表示打印K键
    treeMap.forEach((K,V) -> System.out.println(K));
}

get

@Test
public void get() {
    //get: 根据指定的key获取value
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"get");
    System.out.println(treeMap.get(1));
}

headMap

@Test
public void headMapOneArg() {
    //headMap: 根据指定的key返回集合的数据,key不能小于集合的key
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"headMap");
    System.out.println(treeMap.headMap(2));
}

headMap(K toKey, boolean inclusive)

@Test
public void headMapThreeArgs() {
    //headMap(K toKey, boolean inclusive) : 根据指定键返回数据,参数如果为true表示可以小于或等于集合的key
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"headMap");
    //第二个参数为true,可以小于等于集合的key,false则不可
    System.out.println(treeMap.headMap(0, true));
}

higherEntry

@Test
public void higherEntry() {
    //higherEntry: 根据指定的key返回集合数据,如果给定参数大于集合的key则打印为null
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"higherEntry");
    //给定的key参数小于集合的key,打印数据
    System.out.println(treeMap.higherEntry(0));
}

higherKey

@Test
public void higherKey() {
    //higherKey: 根据指定的key参数返回集合的key数据,参数大于等于集合的key则返回null
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"higherKey");
    //参数小于集合的key,可以返回集合key数据
    System.out.println(treeMap.higherKey(0));
}

keySet

@Test
public void keySet() {
    //keySet: 返回一个Set集合,可遍历map集合的key
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"keySet");
    treeMap.put(2,"keySet");
    Set<Integer> keySet = treeMap.keySet();
    //打印map集合的key
    System.out.println("keySet = " + keySet);
}

lastEntry

@Test
public void lastEntry() {
    //lastEntry: 返回集合中数值最大的键值对
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"lastEntry");
    treeMap.put(2,"lastEntry");
    treeMap.put(3,"lastEntry");
    //3号key最大,会打印返回这个键值对
    System.out.println(treeMap.lastEntry());
}

lastKey

@Test
public void lastKey() {
    //lastKey: 返回集合中最大的key
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"lastKey");
    treeMap.put(3,"lastKey");
    treeMap.put(4,"lastKey");
    System.out.println("treeMap.lastKey() = " + treeMap.lastKey());
}

lowerEntry

@Test
public void lowerEntry() {
    //lowerEntry: 根据指定key参数返回集合的键值对,参数小于集合的key则返回null
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"Entry");
    //给定的key参数大于集合的key,可以打印显示集合的结果
    System.out.println(treeMap.lowerEntry(2));
}

lowerKey

@Test
public void lowerKey() {
    //lowerKey: 根据指定参数返回集合的键值,小于集合键值则返回null
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"lowerKey");
    //给定的参数大于集合的key值,可以打印显示结果
    System.out.println(treeMap.lowerKey(2));
}

navigableKeySet

@Test
public void navigableKeySet() {
    //navigableKeySet: 返回一个视图接口
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"navigableKeySet");
    NavigableSet<Integer> navigableKeySet = treeMap.navigableKeySet();
    //打印显示集合的key值
    System.out.println("navigableKeySet = " + navigableKeySet);
}

pollFirstEntry

@Test
public void pollFirstEntry() {
    //pollFirstEntry: 删除并返回最小的键值
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"pollFirstEntry");
    treeMap.put(2,"pollFirstEntry");
    //1号键数值最小会被删除并返回结果
    System.out.println("treeMap.pollFirstEntry() = " + treeMap.pollFirstEntry());
}

pollLastEntry

@Test
public void pollLastEntry() {
    //pollLastEntry: 删除并返回最大的键值
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"pollLastEntry");
    treeMap.put(2,"pollLastEntry");
    //2号键最大,会被删除并返回结果
    System.out.println("treeMap.pollLastEntry() = " + treeMap.pollLastEntry());
}

put

@Test
public void put() {
    //put: 往集合里添加一个键值对
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"put1");
    treeMap.put(2,"put2");
    System.out.println(treeMap);
}

putAll

@Test
public void putAll() {
    //putAll: 根据一个map集合批量添加键值数据
    TreeMap<Integer, String> treeMap1 = new TreeMap<>();
    TreeMap<Integer, String> treeMap2 = new TreeMap<>();
    treeMap2.put(1,"putAll");
    //参数为treeMap2集合的数据
    treeMap1.putAll(treeMap2);
    System.out.println("treeMap1 = " + treeMap1);
}

remove

@Test
public void remove() {
    //remove: 根据key移除指定的参数
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"remove");
    System.out.println("treeMap.remove(1) = " + treeMap.remove(1));
}

replace

@Test
public void replaceTwoArgs() {
    //replace: 根据key值替换集合value值,并返回替换结果
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"replace");
    //替换1号键的值为replace2
    System.out.println(treeMap.replace(1, "replace2"));
    //打印结果替换后的值
    System.out.println(treeMap);
}

replace(K key, V oldValue, V newValue)

@Test
public void replaceThreeArgs() {
    //replace: 指定key和value替换新值
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"replace");
    //指定原先的key和value,第三个参数为要替换的新值
    boolean replace = treeMap.replace(1, "replace", "shit");
    System.out.println(replace);
}

replaceAll

@Test
public void replaceAll() {
    //replaceAll: 根据lambda表达式批量添加值
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"replaceAll");
    treeMap.replaceAll((K,V) -> "Value1"+ " " +"Value2");
    System.out.println("treeMap = " + treeMap);
}

size

@Test
public void size() {
    //size: 返回集合的长度值
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    //没有添加数据,返回值为0
    System.out.println("treeMap.size() = " + treeMap.size());
}

subMap

@Test
public void subMapTwoArgs() {
    //subMap: 返回指定范围的集合数据,范围长度-1
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"subMap");
    treeMap.put(2,"subMap");
    treeMap.put(3,"subMap");
    treeMap.put(4,"subMap");
    //获取1-4之间的值
    System.out.println(treeMap.subMap(1, 4));
}

subMap(四个参数)

@Test
public void subMapFourArgs() {
    //subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive): 返回集合指定范围的参数,若都为true则指定范围不会减1
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"subMap");
    treeMap.put(2,"subMap");
    treeMap.put(3,"subMap");
    System.out.println(treeMap.subMap(1, true, 3, true));
}

tailMap

@Test
public void tailMapOneArg() {
    //tailMap: 根据指定key参数返回集合的key值,集合参数需大于方法key参数,否则为null
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"tailMap");
    //给定的key参数大于集合的key值,返回为空
    System.out.println(treeMap.tailMap(3));
}

tailMap(两个参数)

@Test
public void tailMapTwoArgs() {
    //tailMap(K fromKey, boolean inclusive):根据参数返回集合key值,参数需要小于集合key值,否则为空
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"tailMap");
    System.out.println(treeMap.tailMap(2, true));
}

values

@Test
public void values() {
    //values: 返回一个Collection接口,可以遍历所有map集合数据
    TreeMap<Integer, String> treeMap = new TreeMap<>();
    treeMap.put(1,"values");
    Collection<String> values = treeMap.values();
    System.out.println("values = " + values);
}

未经允许不得转载:搜云库技术团队 » TreeMap集合方法API实例演示

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们