Java 对传递的字符串使用Comparator.thenComparing
我正在使用streams尝试在映射中创建一个键的arraylist,首先按值(整数)排序,然后按字母顺序排序键。我按值对它们进行了排序,但尝试按字母顺序进行比较时出错:Java 对传递的字符串使用Comparator.thenComparing,java,algorithm,sorting,lambda,comparator,Java,Algorithm,Sorting,Lambda,Comparator,我正在使用streams尝试在映射中创建一个键的arraylist,首先按值(整数)排序,然后按字母顺序排序键。我按值对它们进行了排序,但尝试按字母顺序进行比较时出错: returnmap.keySet() .stream() .sorted(Comparator.comparing((k1)->map.get(k1)).thenComparing(String::compareTo))//ErrorHere .toArray(字符串[]::新建); Coc java给了我一个方法,然后比较(
returnmap.keySet()
.stream()
.sorted(Comparator.comparing((k1)->map.get(k1)).thenComparing(String::compareTo))//ErrorHere
.toArray(字符串[]::新建);
Coc java给了我一个
方法,然后比较(Comparator您可能只需要显式指定类型,例如Comparator.comparing((String k1)->map.get(k1))
,或者Comparator.comparating(map::get)
,这就是问题所在!非常感谢。