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循环,因为它丢失了下标信息。