我正在经历java增强for循环和迭代器之间的差异。关于Java增强for循环访问索引的含义是什么?
我从净
的这个声明下面for-each循环几乎可以肯定是从Java 5中的最新流行的功能,它的工作原理,因为它增加的抽象水平 - 而不必表达低如何在列表或数组中循环(使用索引或迭代器),开发人员只需说明他们想要循环,而语言则负责处理其余部分。但是,只要开发人员需要访问索引或移除项目,所有好处都会丢失。
我能不能够理解这个下面一行
所有的好处是为开发人员需要访问索引
在增强的for循环,how is it possible to access the index
一旦失去了什么? ?
附加一个示例程序,它会更好,如果任何人都可以告诉我如何索引可以在这种情况下
package com;
import java.util.ArrayList;
import java.util.Iterator;
public class Tester {
public static void main(String args[]) {
ArrayList<String> list = new ArrayList<String>();
list.add("One");
list.add("Two");
list.add("Three");
list.add("Four");
list.add("Five");
list.add("Six");
list.add("Seven");
StringBuffer sb = new StringBuffer();
// From here I want to change if this can be tuned anyway
for (String result : list) {
if (result.equals("One") || result.equals("Two")) {
sb.append("1.0");
}
if (result.equals("Three")) {
sb.append("3.0");
} else {
sb.append("4.0");
}
}
System.out.println(sb.toString());
}
}
如果索引是很重要的,不要使用foreach循环或者在每次通过循环时手动增加它。简单。 – Patashu
可能是英语中的一个更好的问题。 –
*这就是*“开发人员需要访问索引时所有好处都会丢失”* - 如果您需要知道循环中的索引,那么'foreach'循环的所有好处都是无关紧要的,因为你需要自己执行一个标准的'for-next'循环 – MadProgrammer