Mic*_*aël 6 java for-loop while-loop
我想知道在ArrayList或各种List上实现"for-each"循环的最佳方法是什么.
以下哪项实施最好,为什么?或者有最好的方法吗?
谢谢您的帮助.
List values = new ArrayList();
values.add("one");
values.add("two");
values.add("three");
...
//#0
for(String value : values) {
...
}
//#1
for(int i = 0; i < values.size(); i++) {
String value = values.get(i);
...
}
//#2
for(Iterator it = values.iterator(); it.hasNext(); ) {
String value = it.next();
...
}
//#3
Iterator it = values.iterator();
while (it.hasNext()) {
String value = (String) it.next();
...
}
Gre*_*ill 20
#3有一个缺点,因为迭代器的it范围超出了循环的末尾.其他解决方案没有这个问题.
#2与#0完全相同,除了#0更具可读性且不易出错.
#1(可能)效率较低,因为它.size()每次都通过循环调用.
#0通常是最好的,因为: