Java 收集流到映射集

Java 收集流到映射集,java,java-stream,Java,Java Stream,我有以下方法,负责使用Java8流将字符串放入列表中 List methodNames=new ArrayList(); typesMapperGenerationInput.getFieldsMappersMetadata().stream() .map(mapMethodNameConvention) .collect(collector.toCollection(()->methodname)); typesMapperGenerationInput.getFieldsValueProdu

我有以下方法,负责使用Java8流将字符串放入列表中

List methodNames=new ArrayList();
typesMapperGenerationInput.getFieldsMappersMetadata().stream()
.map(mapMethodNameConvention)
.collect(collector.toCollection(()->methodname));
typesMapperGenerationInput.getFieldsValueProducersMetadata().stream()
.map(produceMethodNameConvention)
.collect(collector.toCollection(()->methodname));
typesMapperGenerationInput.getConstantMappingsMetadata().stream()
.map(setConstantValueMethodNameConvention)
.collect(collector.toCollection(()->methodname));
我现在想做的是把它放在地图上而不是列表上 我试着这样做:

List methodNames=new ArrayList();
typesMapperGenerationInput.getFieldsMappersMetadata().stream()
.map(mapMethodNameConvention)
.collect(Collectors.toMap(name->mapMethodNameConvention,number->2));
typesMapperGenerationInput.getFieldsValueProducersMetadata().stream()
.map(produceMethodNameConvention)
.collect(Collectors.toMap(name->produceMethodNameConvention,number->1));
typesMapperGenerationInput.getConstantMappingsMetadata().stream()
.map(setConstantValueMethodNameConvention)
.collect(Collectors.toMap(name->setConstantValueMethodNameConvention,number->1));
但这并不能完成我所能得到的

我想做的是有一张地图 要继续像第一个代码示例中那样获取字符串部分,如果我从
getFieldsMappersMetadata
获取字符串,映射的值部分将是2,否则将是1


任何帮助都将不胜感激

您应该将
toMap
替换为
.collect(Collectors.toMap(Function.identity(),number->2))
并将它们相应地存储在变量中。原因:您已经将流映射到要存储在映射中的键。@我建议您回答您的评论,以便将此页标记为已解决。您应该将
toMap
替换为
.collector(collector.toMap(Function.identity(),number->2))
并将它们相应地存储在变量中。原因:您已经将流映射到要存储在映射中的键。@Naman我建议您回答您的评论,以便将此页面标记为已解决。