java增強型for迴圈(三種遍歷集合方式)
阿新 • • 發佈:2019-01-03
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迴圈,因為它丟失了下標資訊。