假设我有一个包含键和相应属性的地图
"A":"value1",
"B":"value2",
"C":"value3",
"D":"value4"
我想按它们的键以任意顺序对它们进行排序。就像是D -> B-> A -> C
结果应该是:
"D":"value4",
"B":"value2",
"A":"value1",
"C":"value3"
有没有快速的方法可以实现?
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