你的位置:首页 > Java教程

[Java教程]【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      * 对数组的遍历如果仅仅是获取数组中的元素,可以使用高级for24      * 如果要对数组的角标进行操作,建议使用传统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 }