For-Each循环
For-Each循环也叫增强型的for循环,或者叫foreach循环。
For-Each循环是JDK5.0的新特性(其他新特性比如泛型、自动装箱等)。
For-Each循环的加入简化了集合的遍历。
语法如下:
for(type element: array){
System.out.println(element);
}
Demo:
public static void query(){
List<Teacher> list = new ArrayList<Teacher>();
//list里存的是N个Teacher对象
System.out.println("*****方式一*******");
//第一种方式 普通for循环
for(int i=0;i<list.size();i++){
Teacher t = (Teacher)list.get(i);
System.out.println(t.getName());
}
System.out.println("*****方式二*******");
//第二种方式 使用迭代器
for(Iterator<Teacher> iter = list.iterator(); iter.hasNext();){
System.out.println(iter.next().getName());
}
System.out.println("*****方式三*******");
//第三种方式 增强型for循环
for(Teacher t: list){
System.out.println(t.getName());
}
}
For-Each循环的缺点:丢掉了索引信息。
当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。