【发布时间】:2015-05-27 18:23:30
【问题描述】:
当我在 Java 中编码和发现新的做事方式时,我总是对通过列表循环输出数据的更好方法感到困惑。
在下面的示例中,我正在遍历列表并使用一个计数器,所以很多时候我不得不在输出中包含一个索引计数器。
我偏爱方法 1,但我发现这些方法中的任何一种都有些过时了。我见过很多循环遍历列表的例子,主要使用的是方法 2。
所以我的问题是什么是更好的方法,如果所有这些方法都一样,那么最标准的是什么?
private ArrayList<String> list = new ArrayList<String>();
public Test() {
list.add("One");
list.add("Two");
list.add("Three");
list.add("Four");
list.add("Five");
method1();
method2();
method3();
}
public void method1() {
System.out.println("Method 1");
int i = 1;
for (String value:list) {
System.out.println((i++) + " = " + value);
}
}
public void method2() {
System.out.println("Method 2");
for (int i = 0; i < list.size(); i++) {
System.out.println((i+1) + " = " + list.get(i));
}
}
public void method3() {
System.out.println("Method 3");
Iterator<String> it = list.iterator();
int i = 1;
while (it.hasNext()) {
System.out.println((i++) + " = " + it.next());
}
}
【问题讨论】:
-
Kenster,感谢您让我知道可能的重复。我的问题更倾向于使用索引输出。但我/我们还发现,在 Java 8 的新版本中,现在有了新的遍历列表的方法。
-
您想知道哪个更好,但没有提供评估哪个更好的标准。