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
Java 带比较器的排序映射导致语法错误_Java_Sorting_Dictionary - Fatal编程技术网

Java 带比较器的排序映射导致语法错误

Java 带比较器的排序映射导致语法错误,java,sorting,dictionary,Java,Sorting,Dictionary,我正在尝试像这样对映射进行排序(首先按值(整数),然后按键(字符串)) publicstaticmap排序映射(Map-Map){ List List=newarraylist(map.entrySet()); //然后比较(…)会导致错误 list.sort(Map.Entry.comparingByValue()。然后比较(Map.Entry.comparingByKey()); //... } 我得到以下错误: 知道我错过了什么吗?这是在我的中建议的一种替代方法,但我无法使其工作。不幸

我正在尝试像这样对映射进行排序(首先按值(整数),然后按键(字符串))

publicstaticmap排序映射(Map-Map){
List List=newarraylist(map.entrySet());
//然后比较(…)会导致错误
list.sort(Map.Entry.comparingByValue()。然后比较(Map.Entry.comparingByKey());
//...
}
我得到以下错误:


知道我错过了什么吗?这是在我的中建议的一种替代方法,但我无法使其工作。

不幸的是,类型推断在这里失败,您必须为其提供泛型类型

list.sort(Map.Entry.<String,Integer>comparingByValue()
        .thenComparing(Map.Entry.comparingByKey()));
list.sort(Map.Entry.comparingByValue())
.then比较(Map.Entry.comparingByKey());

不幸的是,这里的类型推断失败,您必须为它提供泛型类型

list.sort(Map.Entry.<String,Integer>comparingByValue()
        .thenComparing(Map.Entry.comparingByKey()));
list.sort(Map.Entry.comparingByValue())
.then比较(Map.Entry.comparingByKey());

@Reimeus“java-version”在cmd中给了我“1.8.0_51”,我不完全确定java8是什么意思。我的项目语言级别设置为8。是我的intellij idea设置的屏幕截图。@Reimeus cmd中的“java-version”给了我“1.8.0_51”,我不完全确定java 8是什么意思。我的项目语言级别设置为8。是我的intellij idea设置的屏幕截图。@Shiro我发现类型推断可能意味着一个错误可能离解决该错误的方法有很长的路要走。当Java变得更加冗长时,一切都变得更加具体,并且出现了更接近问题原因的错误。类型推断很好,但没有实体的错误信息是它的阴暗面。@Shiro我发现类型推断可能意味着一个错误从解决这个错误的方法到解决这个错误可能有很长的路要走。当Java变得更加冗长时,一切都变得更加具体,并且出现了更接近问题原因的错误。类型推断很好,但无实体的错误消息是它的阴暗面。