地图以任意顺序排序

问题描述 投票:0回答:1

假设我有一个包含键和相应属性的地图

"A":"value1",
"B":"value2",
"C":"value3",
"D":"value4"

我想按它们的键以任意顺序对它们进行排序。就像是D -> B-> A -> C

结果应该是:

"D":"value4",
"B":"value2",
"A":"value1",
"C":"value3"

有没有快速的方法可以实现?

java algorithm sorting hash collections
1个回答
0
投票

HashMap,根据设计,并非要排序,也不会找到任何sort()方法。但是,如果您确实想这样做,

有两种通过键对HashMap进行排序的方法,一种是使用TreeMap,另一种是使用LinkedHashMap

如果要使用TreeMap进行排序,那很简单,只需复制TreeMap的内容来创建HashMap

[另一方面,如果要创建LinkedHashMap,则首先需要获取密钥集,然后将该Set转换为List,对该列表进行排序,然后以相同顺序将其添加到LinkedHashMap中。请记住,HashMap可以包含一个空键,但不允许重复的键。

参考链接:https://www.java67.com/2015/01/how-to-sort-hashmap-in-java-based-on.html

© www.soinside.com 2019 - 2024. All rights reserved.