Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.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_Collections_Java 8_Java Stream - Fatal编程技术网

Java 无法将随机整数流收集到列表集合中

Java 无法将随机整数流收集到列表集合中,java,collections,java-8,java-stream,Java,Collections,Java 8,Java Stream,我一直在寻找如何将IntStream收集到一个列表中,从而生成一个随机的int列表,但编译器一直在抱怨。下面是一段代码: IntStream randIntStream = new Random().ints(1000); List<Integer> randomInts = randIntStream.collect(Collectors.toCollection(ArrayList::new)); 编译器给出的错误: 错误:42,49接口中的java:MethodCollect

我一直在寻找如何将IntStream收集到一个列表中,从而生成一个随机的int列表,但编译器一直在抱怨。下面是一段代码:

IntStream randIntStream = new Random().ints(1000);
List<Integer> randomInts =
randIntStream.collect(Collectors.toCollection(ArrayList::new));
编译器给出的错误:

错误:42,49接口中的java:MethodCollect java.util.stream.IntStream不能应用于给定类型

必需:java.util.function.Supplier、java.util.function.ObjIntConsumer、java.util.function.BiConsumer

找到:java.util.stream.Collector>原因:无法推断 类型变量R 实际参数列表和形式参数列表的长度不同

在将IntStream收集到列表之前,需要调用IntStreamboxed将其转换为流:

您必须将其装箱。boxedor ThreadLocalRandom.current.ints1000.collectArrayList::new,ArrayList::add,ArrayList::addAll;
IntStream randIntStream = new Random().ints(1000);
List<Integer> randomInts = randIntStream.boxed()
    .collect(Collectors.toCollection(ArrayList::new));