我正在尝试创建一个int数组并为其分配随机值。但是当我打印数组的值时,所有的值都是0.
int[] data = new int[1000000];
Random r = new Random();
Arrays.stream(data).forEach((x) -> {x = r.nextInt();});
Arrays.stream(data).forEach(System.out::println);
如何在forEach中访问数组元素的值?
答案 0 :(得分:1)
您可以使用IntStream
来迭代数组的索引。
IntStream.range(0, data.length).forEach(n -> data[n] = r.nextInt());
或者您可以生成随机数流,并使用toArray
直接从流中创建数组。
int[] data = IntStream.generate(r::nextInt).limit(1000000).toArray();