從JDK1.5起,增加了新功能Foreach,它是for循環遍歷數據的一種簡寫形式,使用的關鍵字依然是for,但參數格式不同。其詳細用法為:
for(Type e:collection){ //對變量e的使用}
參數說明:
e:其類型Type是集合或數組中元素值的類型,該參數是集合或數組collection中的一個元素。
collections: 要遍歷的集合或數組,也可以是迭代器。
在循環體中使用參數e,該參數是foreach從集合或數組以及迭代器中取得的元素值,元素值是從頭到尾進行遍歷的。
具體例子:
//必須導入util下面的這兩個包:ArrayList,List; import java.util.ArrayList; import java.util.List; public class Foreach { public static void main(String[] arg){ List<String> list = new ArrayList<String>(); //創建List集合list.add("abc"); //初始化list集合list.add("def"); list.add("ghi"); list.add( "jkl"); list.add("mno"); list.add("pqr"); System.out.print("Foreach遍歷集合: /n/t"); for(String string:list){ / /遍歷List集合System.out.print(string); //輸出集合的元素值} System.out.println(); String[] strs = new String[list.size()]; list.toArray(strs) ; //創建數組System.out.println("Foreach遍歷數組:/n/t"); for(String string: strs){ //遍歷數組System.out.print(string); //輸出數組元素值} } }
總結:
JDK之前的版本使用for循環對集合、數組和迭代器進行遍歷,這需要創建索引變量、條件表達式,這些會造成代碼混亂,並增加出錯的機率。並且每次循環中,索引變量或迭代器都會出現3次,有兩次出錯的機會。並且會有一些性能方面的損失、其性能稍微落後於foreach循環。所以對於數據集合的遍歷,建議使用Foreach循環。