作者:lingling2502852417 | 来源:互联网 | 2023-02-10 12:56
所以我遇到了这种能够按值对HashMaps进行排序的方法.
public static > Map sortByValue(Map map) {
return map.entrySet()
.stream()
.sorted(Map.Entry.comparingByValue())
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue,
(e1, e2) -> e1,
LinkedHashMap::new
));
}
我想使用该reversed()
方法,Comparator
但我似乎找不到合适的地方.
1> Mureinik..:
reversed()
应该在Comparator
返回的方法上调用该方法comparingByValue()
.遗憾的是,Java的类型推断在这里分解,因此您必须指定泛型类型:
public static > Map sortByValue
(Map map) {
return map.entrySet()
.stream()
.sorted(Map.Entry. comparingByValue().reversed())
// Type here -----^ reversed() here -------^
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue,
(e1, e2) -> e1,
LinkedHashMap::new
));
}
@BenArnao这正是为什么在你的问题中包含你所尝试的内容以及你为什么尝试的原因没有奏效的明确描述通常是一个好主意.