📅  最后修改于: 2023-12-03 15:31:57.554000             🧑  作者: Mango
TreeMap是Java中的一个基于红黑树实现的Map接口的有序映射。它继承了AbstractMap类并且实现了NavigableMap和SortedMap接口,因此它具有了诸如增加定位搜索、排序等方法。
TreeMap<Integer, String> treeMap = new TreeMap<>();
treeMap.put(1, "Java");
treeMap.put(2, "Python");
treeMap.put(3, "JavaScript");
treeMap.put(4, "Go");
System.out.println(treeMap.get(1)); // Java
treeMap.remove(2);
for (Map.Entry<Integer, String> entry : treeMap.entrySet()) {
System.out.println("Key: " + entry.getKey() + " Value: " + entry.getValue());
}
System.out.println(treeMap.firstKey());
System.out.println(treeMap.lastKey());
SortedMap<Integer, String> subMap = treeMap.subMap(1, 3);
for (Map.Entry<Integer, String> entry : subMap.entrySet()) {
System.out.println("Key: " + entry.getKey() + " Value: " + entry.getValue());
}
如果你的应用需要根据Key进行排序,并且需要搜索、排序和遍历这些键,那么TreeMap是一个很好的选择。它提供了快速的查找和删除元素的方式,并保证键的顺序。但是,由于它不是线程安全的,因此在多个线程之间使用需要进行同步操作。