我正在經歷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