有关于迭代int []的问题。 假设我们创建了int []:
int[] list = new int[5];
我们想要填充它之后。我知道可以使用下一段代码来完成它:
for(int x = 0; x < list.length; x++){
list[x] = x;
}
但我真的很想知道下一个:
for(int x : list){
list[x] = x;
}
它不起作用,即使我将x++;
放入for循环体x每次迭代都是0。
我问不是因为没有它我不会活着,我仍然可以先使用for循环,但我想知道并使用更多&#34; new&#34; - &#34; clean& #34; - &#34;更好&#34;方式,如果这样说好,可以迭代[]。 提前谢谢。
答案 0 :(得分:2)
总是:
int[] list = IntStream.range(0, 5).toArray();
答案 1 :(得分:0)
在你的第二个版本的循环x中不是索引,它是存储的值的一个。您无法从增强型for循环中更改此值,因为
答案 2 :(得分:-1)
您无法使用增强型for循环修改数组。 x
表示每个元素值,而不是索引。因此list[x] = x
可能是荒谬的。如果需要修改元素,请使用带索引变量的经典循环。