我需要创建一个如下所示的数组:
[0,0,1,1,2,2,3,3,4,4....]
鉴于我的以下代码,如何消除counter
?
int[] SomeArray = new int[24];
int counter = 0;
for(int x = 0 ; x < SomeArray.length-1 ; x++){
SomeArray[x] = counter;
SomeArray{x+1] = counter;
counter++;
}
答案 0 :(得分:3)
在Java 8+中,您可以根据需要使用IntStream.range(int, int)
和map
每个值。像,
int[] someArray = IntStream.range(0, 24).map(x -> {
return x / 2;
}).toArray();
另外,请遵循Java变量命名约定(someArray
,而不是SomeArray
)。
如果必须使用Java 7(或更早版本),那么可以使用
之类的东西int[] someArray = new int[24];
for (int i = 0; i < someArray.length; i++) {
someArray[i] = i / 2;
}
答案 1 :(得分:1)
使用increment x = x + 2作为数组的两个索引存储在每次迭代中
for(int x = 0 ; x < SomeArray.length-1 ; x+=2){
SomeArray[x] = x/2;
SomeArray[x+1] = x/2;
}