Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
如何在Java8中使用来自内部映射和外部映射的值对嵌套哈希映射进行排序?_Java_Sorting_Java 8_Hashmap_Comparator - Fatal编程技术网

如何在Java8中使用来自内部映射和外部映射的值对嵌套哈希映射进行排序?

如何在Java8中使用来自内部映射和外部映射的值对嵌套哈希映射进行排序?,java,sorting,java-8,hashmap,comparator,Java,Sorting,Java 8,Hashmap,Comparator,在我的代码中 Map<Map<String,Date>,Integer> businessCountMap = new HashMap<>(); 我有一张上面这样的地图。我需要按日期和整数对条目进行降序排序,然后像这样返回 请帮帮我。您不能对HashMap进行排序。使用分类图,如树形图和比较器。将字符串、日期表示为对,然后为其定义一个比较方法,其余的请解释如何配对?我不明白。你用整个地图作为另一个地图的键,但这个键总是有一个条目?那么,为什么不将map键设置

在我的代码中

Map<Map<String,Date>,Integer> businessCountMap = new HashMap<>();
我有一张上面这样的地图。我需要按日期和整数对条目进行降序排序,然后像这样返回


请帮帮我。

您不能对HashMap进行排序。使用分类图,如树形图和比较器。

字符串、日期
表示为
,然后为其定义一个
比较
方法,其余的请解释如何配对?我不明白。你用整个地图作为另一个地图的键,但这个键总是有一个条目?那么,为什么不将map键设置为map.Entry或定义您自己的类(上面Naman建议的):类与字符串字段和日期字段配对。另外,您应该更喜欢java.time.LocalDate,而不是遗留的和有问题的java.util.Date。无论如何,在您的问题示例中,您不能有这种类型的数据。您有一个重复的密钥{59087=1/31/2021},并且地图不能保存重复的密钥。
 Eg: {{59087=2/7/2021}=5,{59087=1/31/2021}=6,{59087=1/31/2021}=8,{63771=2/7/2021}=6}
{{63771=2/7/2021}=6,{59087=2/7/2021}=5,{59087=1/31/2021}=8,{59087=1/31/2021}=6}