我正在研究Java 8,我知道这一定是可能的,因为我已经阅读了文档,但我无法找到如何操作的方法。
我有以下可用的代码:
我有以下可用的代码:
long factorProduct = LongStream.rangeClosed(1, maxFactor)
.filter(this::isOptimalFactor)
.reduce((i, j) -> i * j)
.getAsLong();
List<Long> primeFactors = primeFactors(factorProduct);
重要的部分是我有一个可能有一些Long
数字重复的List<Long>
。
现在我想将它转换为一个Map<Long, Long>
,其中键为元素,值为出现次数。
我认为:
Map<Long, Long> primeFactorCount = primeFactors.stream()
.collect(Collectors.counting());
这个方法看起来应该是可行的,但事实上并不行。我查阅了java.util.stream.Collectors文档中的示例。
我需要如何使用这些功能?