HashMap 到 TreeMap
HashMap to TreeMap
我正在使用 TreeMap
对 Map
中的键进行排序。
Map<Byte, List<TagEntity>> hashMap = list.stream().collect(Collectors.groupingBy(TagEntity::getTagType));
Map<Byte, List<TagEntity>> treeMap = new TreeMap<>(Comparator.reverseOrder());
但是如何将HashMap
转换成TreeMap
呢?
这应该有效:
TreeMap treeMap = new TreeMap<>(hashMap);
或者:
treeMap.putAll(hashMap);
您可以通过将地图供应商传递给 groupingBy
来直接创建 TreeMap
:
Map<Byte, List<TagEntity>> treeMap =
list.stream()
.collect(Collectors.groupingBy(TagEntity::getTagType,
() -> new TreeMap<Byte, List<TagEntity>>(Comparator.reverseOrder()),
Collectors.toList()));
这是创建哈希图到树图的方法:
HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>();
treeMap.putAll(hashMap);
参考这里java-putting-hashmap-into-treemap
我正在使用 TreeMap
对 Map
中的键进行排序。
Map<Byte, List<TagEntity>> hashMap = list.stream().collect(Collectors.groupingBy(TagEntity::getTagType));
Map<Byte, List<TagEntity>> treeMap = new TreeMap<>(Comparator.reverseOrder());
但是如何将HashMap
转换成TreeMap
呢?
这应该有效:
TreeMap treeMap = new TreeMap<>(hashMap);
或者:
treeMap.putAll(hashMap);
您可以通过将地图供应商传递给 groupingBy
来直接创建 TreeMap
:
Map<Byte, List<TagEntity>> treeMap =
list.stream()
.collect(Collectors.groupingBy(TagEntity::getTagType,
() -> new TreeMap<Byte, List<TagEntity>>(Comparator.reverseOrder()),
Collectors.toList()));
这是创建哈希图到树图的方法:
HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>();
treeMap.putAll(hashMap);
参考这里java-putting-hashmap-into-treemap