我想做这样的事情:
int[] seq = new int[N];
for (int i = 0 ; i < N ; i++) {
seq[i] = i;
}
Run Code Online (Sandbox Code Playgroud)
...在一行中,我想知道lambda表达式是否可行.
如果它适用ArrayList<Integer>,对我来说没问题.
Era*_*ran 28
用途IntStream.range():
int[] seq = IntStream.range(0, N).toArray();
Run Code Online (Sandbox Code Playgroud)
或者IntStream.rangeClosed()如果你想包括N:
int[] seq = IntStream.rangeClosed(0, N).toArray();
Run Code Online (Sandbox Code Playgroud)
Ole*_*hov 13
从Java 9开始,您可以使用三参数IntStream.iterate:
int[] seq = IntStream.iterate(0, x -> x < N, x -> x + 1).toArray();
Run Code Online (Sandbox Code Playgroud)
哪里:
IntStream.iterate?(int seed, IntPredicate hasNext, IntUnaryOperator next):
seed - 最初的元素;hasNext - 应用于元素的谓词,以确定流何时必须终止;next - 要应用于前一个元素以生成新元素的函数.| 归档时间: |
|
| 查看次数: |
882 次 |
| 最近记录: |