增强for循环可以对 list,iteraotr,array,collection进行遍历
for(数据类型 变量名:可遍历对象){
//TODO 变量名
}
example:
package cn.niki.fordemo;
import java.util.HashMap;
import java.util.Map.Entry;
import org.junit.Test;
public class ForDemo {
@Test
public void loop() {
// 对数组进行操作
String[] hi = { "hello", "hsmw" };
for (String text : hi) {
System.err.println(text);
}
//对集合进行遍历
HashMap<String, String> map = new HashMap<String, String>();
map.put("name", "hsmw");
map.put("age", "23");
for(Entry<String,String> entry: map.entrySet()){
System.err.println(entry.getKey()+"::"+entry.getValue());
}
}
实际过程中对集合的操作,还是通过的对Iterator进行的操作,
内部调用的是普通的for循环:
package cn.niki.fordemo;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.junit.Test;
public class ForIn {
@Test
public void forin() {
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("hsmw");
for (Iterator<String> i = list.iterator(); i.hasNext();) {
System.err.println(i.next());
}
}
}
1.不能在遍历的时候对元素进行修改
2.不能根据位置获得值
使用自定义iterator 利用增强for循环进行文件的读取 http://my.oschina.net/hsm/blog/108551