考虑以下 Java HashMap。
Map<String, String> unsortMap = new HashMap<String, String>();
unsortMap.put("Z", "z");
unsortMap.put("B", "b");
unsortMap.put("A", "a");
unsortMap.put("C", "c");
现在我想按键排序这个地图。一种选择是我为此目的使用 TreeMap。
Map<String, String> treeMap = new TreeMap<String, String>(unsortMap);
我的另一个选择是使用带有 Sorted() 的 Java Streams,如下所示。
Map<String, Integer> sortedMap = new HashMap<>();
unsortMap.entrySet()
.stream()
.sorted(Map.Entry.comparingByKey())
.forEachOrdered(x -> sortedMap.put(x.getKey(), x.getValue()));
在这两个中,哪个选项是首选的,为什么(可能是在性能方面)?
慕盖茨4494581
红颜莎娜
慕无忌1623718
相关分类