【发布时间】:2019-04-10 00:57:36
【问题描述】:
我有以下方法来映射地图中的值:
public static <X, Y, Z> Map<X, Z> transformValues(Map<? extends X, ? extends Y> input, Function<Y, Z> function) {
return input.keySet().stream()
.collect(Collectors.toMap(Function.identity(),
key -> function.apply(input.get(key))));
}
这里建议:https://stackoverflow.com/a/25905196/411965
我想创建一个类似于 SortedMap 的方法:
public static <X, Y, Z> SortedMap<X, Z> transformValues(SortedMap<? extends X, ? extends Y> input, Function<Y, Z> function)
使用 java 8 的方法是什么?
【问题讨论】:
-
Collectors实用程序类提供了一个toMap重载,允许您使用Supplier参数化所需的Map类型 - 请参阅 here。
标签: java collections