我有一个 HashMap<String, Float>
里面充满了几个条目。
我想将 HashMap 的键保存到 ArrayList<String>
中,而是根据HashMap对应的值对这个ArrayList进行排序。
有没有比对 HashMap 进行排序,然后使用更好的解决方案
ArrayList<String> sortedKeys = new ArrayList<String>(myHashmap.keySet());
顺便一提,我一开始并不一定要使用 HashMap,但是值设置了顺序,我不想交换键和值,因为 float 可能会改变几次。
最佳答案
您可以使用流 API:
List<String> sortedKeys = myMap.entrySet()
.stream()
.sorted(Map.Entry.comparingByValue())
.map(Map.Entry::getKey)
.collect(Collectors.toCollection(ArrayList::new));
关于java - 将 HashMap 的键保存到按 Java 中的 HashMaps 值排序的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51440146/