我知道如何获得带有一系列数字的int[]
:
int[] array = IntStream.of(0, 3).toArray();
但是如何获得固定长度和一个特定数字的电话?
答案 0 :(得分:6)
IntStream.generate(() -> x).limit(y)
是您所需要的。将x
和y
替换为您喜欢的任何数字,您将产生一个流,其中包含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);