【问题标题】:HashMap to TreeMapHashMap 到 TreeMap
【发布时间】:2018-07-12 07:20:50
【问题描述】:

我正在使用TreeMapMap 中的键进行排序。

Map<Byte, List<TagEntity>> hashMap = list.stream().collect(Collectors.groupingBy(TagEntity::getTagType));

Map<Byte, List<TagEntity>> treeMap = new TreeMap<>(Comparator.reverseOrder());

但是如何将HashMap 转换为TreeMap

【问题讨论】:

    标签: java hashmap converter treemap


    【解决方案1】:

    您可以通过将地图供应商传递给groupingBy 来直接创建TreeMap

    Map<Byte, List<TagEntity>> treeMap = 
        list.stream()
            .collect(Collectors.groupingBy(TagEntity::getTagType,
                                          () -> new TreeMap<Byte, List<TagEntity>>(Comparator.reverseOrder()),
                                          Collectors.toList()));
    

    【讨论】:

      【解决方案2】:

      这就是你如何创建 hashmap 到 treemap 的方法:

      HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
      TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>();
      treeMap.putAll(hashMap);
      

      参考这里java-putting-hashmap-into-treemap

      【讨论】:

        【解决方案3】:

        这应该可行:

        TreeMap treeMap = new TreeMap(hashMap);

        或者:

        treeMap.putAll(hashMap);

        【讨论】:

        • 使用new TreeMap&lt;&gt;(hashMap) 不允许您传递Comparator
        猜你喜欢
        • 1970-01-01
        • 2013-12-11
        • 2011-02-22
        • 2013-10-31
        • 2017-08-28
        • 2019-12-29
        • 1970-01-01
        • 2011-10-26
        • 2012-05-13
        相关资源
        最近更新 更多