如何使用java流创建具有固定长度和特定编号的int []?

时间:2018-10-06 07:40:40

标签: java java-8 java-stream

我知道如何获得带有一系列数字的int[]

int[] array = IntStream.of(0, 3).toArray();

但是如何获得固定长度和一个特定数字的电话?

4 个答案:

答案 0 :(得分:6)

IntStream.generate(() -> x).limit(y)

是您所需要的。将xy替换为您喜欢的任何数字,您将产生一个流,其中包含y个数字x的流。

您显然可以随后致电toArray或执行所需的任何操作。

IntStream.generate使用供应商创建无限流。

答案 1 :(得分:3)

这是一种方法:

int[] array = IntStream.rangeClosed(1, n).map(x -> m).toArray();

应产生一个长度为n且由m填充的数组。

以下问答中提供了使用其他方法(例如Arrays.fill方法)的其他答案。

答案 2 :(得分:3)

或更简单。

// n elements of value m
int[]a=new int[n];
Arrays.fill(a,m);

答案 3 :(得分:2)

或更简单的为此编写的API:

int[] arr = new int[10];
Arrays.setAll(arr, x -> 1);

// or if you have enough data for parallel to make any difference
Arrays.parallelSetAll(arr, x -> 1);