循环访问可变长度数组
如何迭代可变长度的 Java 数组。
我想我会设置一个 while 循环,但是我如何检测到我已经到达数组的末尾。
我想我想要这样的东西[只需要弄清楚如何表示myArray.notEndofArray()]
index = 0;
while(myArray.notEndofArray()){
system.out.println(myArray(index));
index++;
}
如何迭代可变长度的 Java 数组。
我想我会设置一个 while 循环,但是我如何检测到我已经到达数组的末尾。
我想我想要这样的东西[只需要弄清楚如何表示myArray.notEndofArray()]
index = 0;
while(myArray.notEndofArray()){
system.out.println(myArray(index));
index++;
}
for(int i = 0; i < array.length; i++)
{
System.out.println(array[i]);
}
或
for(String value : array)
{
System.out.println(value);
}
第二个版本是一个“for-each”循环,它适用于数组和集合。大多数循环都可以使用 for-each 循环来完成,因为您可能不关心实际的索引。如果您确实关心实际索引,请看第一个版本。
只是为了完整性,你可以这样做 while 循环:
int index = 0;
while(index < myArray.length)
{
final String value;
value = myArray[index];
System.out.println(value);
index++;
}
但是,当您知道大小时,您应该使用for循环而不是while循环(即使使用可变长度数组,您也知道大小...只是每次都不同)。
数组有一个隐式成员变量,用于保存长度:
for(int i=0; i<myArray.length; i++) {
System.out.println(myArray[i]);
}
或者,如果使用 >=java5,则对每个循环使用 a:
for(Object o : myArray) {
System.out.println(o);
}