2 回答

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
我很確定您的班級(jí)Edge正在通過(guò)以下方式實(shí)施 Comparable:
class Edge implements Comparable
將您的類(lèi)邊緣聲明更改為:
class Edge implements Comparable<Edge>
或者通過(guò)以下方式拆分您的返回邏輯:
Stream<Map.Entry<Node<City>, Edge>> sorted = map.entrySet().stream()
.sorted(Map.Entry.comparingByValue());
return sorted
.map(e -> e.getKey().getValue())
.collect(Collectors.toList());
問(wèn)題是由于泛型對(duì)鏈?zhǔn)秸{(diào)用的類(lèi)型推斷。這可能會(huì)給你更多的細(xì)節(jié)。

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
我沒(méi)有你的課程,但我相信這就是你想要的。
Map<String, Integer> map = Map.of("Z", 10, "X", 8, "Y", 9);
// add entries to map ...
List<String> keys = map.entrySet().stream().sorted(
Comparator.comparing(e -> e.getValue())).map(
e -> e.getKey()).collect(Collectors.toList());
System.out.println(keys);
在你的例子中,.map(e -> e.getKey().getValue())應(yīng)該是 .map(e ->e.getKey())
添加回答
舉報(bào)