1 package p2; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.List; 6 import java.util.Map; 7 8 public class ForEachDemo { 9 10 public static void main(String[] args) { 11 /* 12 * foreach语句: 13 * 格式: 14 * for(类型 变量 : Collection 集合|数组) 15 * { 16 * 17 * } 18 * 19 * 传统for 和 高级for的区别? 20 * 传统for可以完成对语句执行很多次,因为可以定义控制循环的增量和条件。 21 * 高级for是一种简化形式。它必须有被遍历的目标。该目标要么是数组,要么是Collection单列集合 22 * 23 * 对数组的遍历如果仅仅是获取数组中的元素,可以使用高级for 24 * 如果要对数组的角标进行操作,建议使用传统for。 25 */ 26 27 List<String> list = new ArrayList<String>(); 28 list.add("abc1"); 29 list.add("abc2"); 30 list.add("abc3"); 31 32 for (String s : list) 33 { 34 System.out.println(s); 35 } 36 37 38 int[] arr = {3,1,5,7,4}; 39 for (int i: arr) 40 { 41 System.out.println(i); 42 } 43 44 45 /* 46 * 可以使用高级for遍历map集合吗?不能直接用,但是可以将map转成单列的set,就可以用了 47 */ 48 49 Map<Integer,String> map = new HashMap<Integer,String>(); 50 map.put(3, "zahngsan"); 51 map.put(23, "zahngsan"); 52 map.put(34, "zahngsan"); 53 map.put(1, "zahngsan"); 54 55 for (Integer key : map.keySet()) 56 { 57 String value = map.get(key); 58 System.out.println(key+"::"+value); 59 } 60 61 for (Map.Entry<Integer, String> me : map.entrySet() ) 62 { 63 Integer key = me.getKey(); 64 String value = me.getValue(); 65 System.out.println(key+"::"+value); 66 } 67 68 } 69 70 }