java - 为什么以及何时使用 TreeMap

标签 java collections treemap

谁能告诉我什么时候以及为什么要使用TREEMAP。我经历了This link 但没有找到我的答案。

按照我的想法,我们使用 TreeMap 根据您的键对数据进行排序,我们也可以通过其他方式实现同​​样的目的。

最佳答案

假设您想实现一个字典并按字母顺序打印它,您可以结合使用 TreeMap 和 TreeSet:

public static void main(String args[]) {
    Map<String, Set<String>> dictionary = new TreeMap<>();
    Set<String> a = new TreeSet<>(Arrays.asList("Actual", "Arrival", "Actuary"));
    Set<String> b = new TreeSet<>(Arrays.asList("Bump", "Bravo", "Basic"));

    dictionary.put("B", b);
    dictionary.put("A", a);

    System.out.println(dictionary);
}

所有排序都是自动完成并打印:

{A=[Actual, Actuary, Arrival], B=[Basic, Bravo, Bump]}

当然,您也可以手动对结构进行排序,但使用 TreeMap/Set 可以更高效,减少代码行数(= 错误数)并且更具可读性。

关于java - 为什么以及何时使用 TreeMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13761871/

相关文章:

asp.net-mvc - MVC 处理部分 View 模型中的集合项索引

java - 获取 java.util.ConcurrentModificationException

c# - 从 BlockingCollection 中取出项目的正确方法是什么?

java - JAVA中删除二维TreeMap中的实例

java - 在 jdbc 调用中一次减少提交和插入批量记录?

java - 确定哪些 Callables 当前正在 ExecutorService 中运行

java - 如何在特定条件下隐藏 toast ?

java - univocity 基于动态列映射将 csv 解析为相同的 pojo

java - 如何按升序对 HashMap 进行排序

java - 如何使用包含数字的键对 TreeMap<String, Boolean> 的 keySet() 进行排序?