集合框架-工具类-JDK5.0特性-ForEach循环

 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 }
ForEachDemo

 

posted @ 2021-10-26 16:34  doremi429  阅读(21)  评论(0编辑  收藏  举报