Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 转换列表<;长期>;映射<;长,长>;这算发生的次数_Java_Dictionary_Java 8_Java Stream_Collectors - Fatal编程技术网

Java 转换列表<;长期>;映射<;长,长>;这算发生的次数

Java 转换列表<;长期>;映射<;长,长>;这算发生的次数,java,dictionary,java-8,java-stream,collectors,Java,Dictionary,Java 8,Java Stream,Collectors,我在玩Java8,我知道这必须通过阅读文档来实现,我就是不知道怎么做 我有以下工作代码: long factorProduct = LongStream.rangeClosed(1, maxFactor) .filter(this::isOptimalFactor) .reduce((i, j) -> i * j) .getAsLong(); List<Long> primeFactors

我在玩Java8,我知道这必须通过阅读文档来实现,我就是不知道怎么做

我有以下工作代码:

    long factorProduct = LongStream.rangeClosed(1, maxFactor)
            .filter(this::isOptimalFactor)
            .reduce((i, j) -> i * j)
            .getAsLong();
    List<Long> primeFactors = primeFactors(factorProduct);
会有用,但不会。我查了这些例子


我需要如何使用这些功能?

如果要对元素进行分组,必须使用
groupingBy

import static java.util.stream.Collectors.*;

Map<Long, Long> primeFactorCount = primeFactors.stream()
        .collect(groupingBy(p -> p, counting()));
导入静态java.util.stream.collector.*;
Map primeFactorCount=primeFactors.stream()
.collect(分组方式(p->p,counting());
如果使用,您可以使用以下参数作为基本因子列表和基本因子计数。
Bag
基本上就是一个
Map

MutableList<Long> primeFactors = this.primeFactors(factorProduct); 
Bag<Long> primeFactorCount = primeFactors.toBag();
在上面的primeFactors方法中使用a


注意:我是Eclipse集合的提交者。

我以前尝试过,但出现了一个错误,结果我忘记了自动导入java.util.Map。
MutableList<Long> primeFactors = this.primeFactors(factorProduct); 
Bag<Long> primeFactorCount = primeFactors.toBag();
LongList primeFactors = this.primeFactors(factorProduct);   
LongBag primeFactorCount = primeFactors.toBag();