【Java学习笔记】foreach语句(高级for)

 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 }
原文地址:https://www.cnblogs.com/Newbie-Cai/p/5843378.html