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())); }