Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我试图使用java中的值对嵌套hashmap进行排序,但无法';我不明白_Java_List_Arraylist_Hashmap_Treemap - Fatal编程技术网

我试图使用java中的值对嵌套hashmap进行排序,但无法';我不明白

我试图使用java中的值对嵌套hashmap进行排序,但无法';我不明白,java,list,arraylist,hashmap,treemap,Java,List,Arraylist,Hashmap,Treemap,下面是我的示例hashmap详细信息,需要根据末尾的整数值进行排序 Input: {First={ How={H=9}, Are={A=1}, You={U=325}}, Second={ Are={A=19}, You={U=110}, HOW={H=3}} } Expected output should be: {First={ You={U=325}

下面是我的示例hashmap详细信息,需要根据末尾的整数值进行排序

Input:

{First={
       How={H=9},
       Are={A=1}, 
       You={U=325}},    
Second={
       Are={A=19}, 
       You={U=110}, 
       HOW={H=3}}
}


Expected output should be:

{First={
       You={U=325}       
       How={H=9},
       Are={A=1}}, 
Second={
       You={U=110}
       Are={A=19}, 
       HOW={H=3}}
}

有任何选项可以实现这一点吗?

java.util.HashMap
是一个基本上无序的概念
LinkedHashMap
(一个子类)按插入顺序排序:如果先添加
[k1,v1]
,然后添加
[k3,v3]
,然后再添加
[k2,v2]
,这也是迭代其
.keySet()
、或其
.values()
、或其
.entrySet()
时报告的确切顺序

还有对输入进行排序的
java.util.TreeMap
:如果您添加
[k1,v1]
,然后
[k3,v3]
然后
[k2,v2]
,如果您询问它的
.keySet(),它将返回
[k1,k2,k3]
,假设在构建按顺序对k1/k2/k3排序的树状图时提供了一个比较器,或者假设键的类型具有自然顺序,这就是它的排序方式

无法根据值进行排序。在尝试为树映射生成比较器时,不能涉及与键关联的值

因此,您想要的(使用java.util包中提供的基本工具,根据值的某些属性排序的j.u.map)是不可能的,除非您自己手工编写整个map实现