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