Java流:扩展内置收集器

问题描述 投票:3回答:1

我想知道是否可以从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收集器,而不是从头开始构建自定义收集器,因此...
java java-stream collectors
1个回答
2
投票
您无法将方法添加到Collectors类。但是,您可以创建自己的实用程序方法来返回所需的内容:
© www.soinside.com 2019 - 2024. All rights reserved.