我有以下课程(有getter):
public class AlgorithmPrediction { private final String algorithmName; private final Map<BaseDatabaseProduct,Double> productsToAccuracy; }
现在我想从AlgorithmPrediction对象填充的集合中创建一个映射,其中algorithmName(唯一)作为键,productsToAccuracy作为值.我想不出比这更复杂的东西:
algorithmPredictions.stream() .collect( groupingBy( AlgorithmPrediction::getAlgorithmName,Collectors.collectingAndThen( toSet(),s -> s.stream().map(AlgorithmPrediction::getProductsToAccuracy).collect(toSet()) ) ) );
这不可能是对的.我错过了什么?谢谢!
解决方法
algorithmPredictions.stream() .collect(toMap(AlgorithmPrediction::getAlgorithmName,AlgorithmPrediction::getProductsToAccuracy));