当前位置: 首页 > 知识库问答 >
问题:

无法将随机int流收集到列表集合[重复]

柯乐童
2023-03-14

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

IntStream randIntStream = new Random().ints(1000);
List<Integer> randomInts =
randIntStream.collect(Collectors.toCollection(ArrayList::new));

编译器给出的错误:

错误:(42,49)Java:接口java.util.Stream.IntStream中的方法collect不能应用于给定类型;

必需:java.util.function.supplier,java.util.function.objintconsumer,java.util.function.biconsumer

found:java.util.stream.collector>原因:无法推断类型变量R(实际和正式参数列表的长度不同)

共有1个答案

万俟飞语
2023-03-14

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

IntStream randIntStream = new Random().ints(1000);
List<Integer> randomInts = randIntStream.boxed()
    .collect(Collectors.toCollection(ArrayList::new));
 类似资料:
  • 当流过< code>List时,如何将输出收集到一个链表中? 我尝试了以下方法: 但是这给了 java.util.数组列表不能转换为 java.util.链接列表.

  • 问题内容: 为什么下面 不行?只是为了学习而玩弄泛型,我希望我能够在其中插入任何扩展Collection的内容,但会出现此错误: 问题答案: 您已声明是的扩展名。但是根据Java编译器,它可以是 任何 扩展的元素,即。因此,出于这个原因,它必须禁止采用通用类型参数的操作。它不能让你的加入到这可能是。 尝试删除通配符: 这应该工作,因为你可以肯定是一个添加到的。

  • 问题内容: 是否有一种Java集合,我的提取顺序是随机的?例如,我将整数1、2、3放入集合中,当我尝试打印它们时,所有结果都可能是“ 1 2 3”,“ 3 2 1”或“ 1 3 2”? 问题答案: 如果只需要随机序列,可以使用Collections.shuffle

  • 我有这个代码: 它产生的是 很高兴我应该如何写映射方法来得到一个地图,它会给我:

  • 用以下方法对物体进行成像: