简体   繁体   English

如何使用简单的for循环创建数组?

[英]How to create an array with a simple for loop?

I need to create an array that looks like this: 我需要创建一个如下所示的数组:

 [0,0,1,1,2,2,3,3,4,4....] 

Given my following code, how can I eliminate the counter ? 鉴于我的以下代码,我该如何消除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++;
}

In Java 8+, you could use an IntStream.range(int, int) and map each value as desired. 在Java 8+中,您可以使用IntStream.range(int, int)并根据需要map每个值。 Something like, 就像是,

int[] someArray = IntStream.range(0, 24).map(x -> {
    return x / 2;
}).toArray();

Also, please follow Java variable naming conventions ( someArray , not SomeArray ). 另外,请遵循Java变量命名约定( someArray ,而不是SomeArray )。

If you have to use Java 7 (or earlier), then you can do it with something like 如果你必须使用Java 7(或更早版本),那么你可以使用类似的东西

int[] someArray = new int[24];
for (int i = 0; i < someArray.length; i++) {
    someArray[i] = i / 2;
}

use increment x=x+2 as two indexes of array are being stored in every iteration 使用增量x = x + 2作为数组的两个索引存储在每次迭代中

for(int x = 0 ; x < SomeArray.length-1 ; x+=2){
        SomeArray[x] = x/2;

        SomeArray[x+1] = x/2;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM