如何遍历长度可变的Java数组?
我想我会设置一个while循环,但是我如何检测我已经到达了数组的末尾呢?
我想我想要这样的东西,只是需要弄清楚如何表示myArray.notEndofArray()
index = 0;
while(myArray.notEndofArray()){
system.out.println(myArray(index));
index++;
}
发布于 2010-02-25 11:53:51
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循环(即使使用可变长度的数组,你也知道它的大小……它只是每次都不同而已)。
发布于 2010-02-25 11:55:46
数组有一个隐式成员变量来保存长度:
for(int i=0; i<myArray.length; i++) {
System.out.println(myArray[i]);
}
或者,如果使用>=java5,则使用for each循环:
for(Object o : myArray) {
System.out.println(o);
}
发布于 2018-03-09 02:25:25
下面是一个示例,其中数组的长度在循环执行期间被更改
import java.util.ArrayList;
public class VariableArrayLengthLoop {
public static void main(String[] args) {
//create new ArrayList
ArrayList<String> aListFruits = new ArrayList<String>();
//add objects to ArrayList
aListFruits.add("Apple");
aListFruits.add("Banana");
aListFruits.add("Orange");
aListFruits.add("Strawberry");
//iterate ArrayList using for loop
for(int i = 0; i < aListFruits.size(); i++){
System.out.println( aListFruits.get(i) + " i = "+i );
if ( i == 2 ) {
aListFruits.add("Pineapple");
System.out.println( "added now a Fruit to the List ");
}
}
}
}
https://stackoverflow.com/questions/2331509
复制相似问题