我想知道是否可以从java.util.stream.Collectors
类扩展内置的Java Stream收集器,而不是从头开始构建自定义收集器,从而复制已经在该类中实现的代码。 >
例如:假设我有Stream<Map.Entry<String, Long>> mapEntryStream
,我想将其收集到Map<String, Long>
类型的地图中。
我当然可以做:
mapEntryStream.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
但是,我想这样推断键和条目:
//Not a real Java Collectors method mapEntryStream.collect(Collectors.toMap());
所以,如何像上面的那样,使收集器不带任何参数但调用
Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)
?
请注意:这不是关于是否要制作这样的收集器[应该
的问题-仅当制作了[[can时才可以。我想知道是否可以从java.util.stream.Collectors类扩展内置的Java Stream收集器,而不是从头开始构建自定义收集器,因此...Collectors
类。但是,您可以创建自己的实用程序方法来返回所需的内容: