如何对Map<String, Set<String>>
的值进行排序,即使用流转换为Map<String, SortedSet<String>
>?
答案 0 :(得分:1)
只需遍历每个条目,然后将Set<T>
(例如HashSet<T>
)转换为SortedSet<T>
(例如TreeSet<T>
),如下所示:
Map<String, Set<String>> input = new HashMap<>();
Map<String, SortedSet<String>> output = new HashMap<>();
input.forEach((k, v) -> output.put(k, new TreeSet<>(v)));
或流为:
Map<String, Set<String>> input = new HashMap<>();
Map<String, SortedSet<String>> output = input.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, a -> new TreeSet<>(a.getValue())));