集合框架-工具类-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 }