【发布时间】:2017-04-25 09:49:03
【问题描述】:
我必须创建使用映射参数和 lambda 表达式调用的排序方法。该方法返回作为第一个参数传递的任何映射的排序版本,排序顺序由作为第二个参数给出的 lambda 表达式确定。
我创建了类似的东西(不能正常工作):
public Map sorted(Map map, Function<Set> funct){
System.out.println(map.entrySet()
.stream()
.sorted((Comparator) funct)
.collect(Collectors.toList()));
return null;
}
有什么想法吗?
感谢您的帮助;)
【问题讨论】:
-
您应该将
Comparator<Map.Entry<KeyType,ValueType>>传递给sorted方法。 -
Comparator 功能不同
-
你“必须”?因为它对
Map<K,V> sorted = new TreeMap<>(comparator); sorted.putAll(map); return sorted;的可读性要高得多
标签: java sorting lambda functional-programming java-8