foreach是Java5新增,在遍歷數組,集合的時候有不錯的性能.java
for(元素類型 每次循環的元素名稱 : 循環對象){ }
一.常見的使用方式
1.遍歷數組web
public static void main(String[] args) { String[] strs = {"張三","李四","王五"}; for(String names : strs){ System.out.println(names); } }
2.遍歷List數組
public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("張三"); list.add("王五"); list.add("李四"); for(String name : list){ System.out.println(name); } }
二.侷限性
foreach雖然能遍歷數組或者集合,可是隻能用來遍歷,沒法在遍歷過程當中對數組或者集合進行修改,而for循環能夠在遍歷的過程當中對原數組或者集合進行修改
1.數組svg
public static void main(String[] args) { String[] strs = {"張三","李四","王五"}; //foreach for(String names : strs){ names = "改改"; } System.out.println("foreach:"+Arrays.toString(strs)); //for for(int i=0; i<strs.length; i++){ strs[i] = "改改"; } System.out.println("for:"+Arrays.toString(strs));
2.集合性能
public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("張三"); list.add("王五"); list.add("李四"); for(String name : list){ name = "改改"; } System.out.println("foreach_list:"+Arrays.toString(list.toArray())); for(int i=0; i<list.size(); i++){ list.set(i, "改改"); } System.out.println("for_list:"+Arrays.toString(list.toArray())); }