JavaWeb_增强for循环

引入增强for循环的原因:在JDK5以前的版本中,遍历数组或集合中的元素,需要先获得数组的长度或集合的迭代器,比较麻烦。

JDK5中定义了一种新的语法----增强for循环,以简化此类操作。增强for循环只能用在数组或实现Iterable接口的集合上。

语法格式:

for(变量类型 变量:需迭代的数组或集合){

  1 package cn.itcast.demo;
  2 
  3 import java.util.ArrayList;
  4 import java.util.HashMap;
  5 import java.util.Iterator;
  6 import java.util.LinkedHashMap;
  7 import java.util.List;
  8 import java.util.Map;
  9 import java.util.Map.Entry;
 10 import java.util.Set;
 11 
 12 import org.junit.Test;
 13 
 14 public class Demo {
 15     // 增强for循环
 16 
 17     public static void main(String[] args) {
 18         // TODO Auto-generated method stub
 19 
 20     }
 21 
 22     @Test
 23     public void test1() {
 24         int arr[] = { 1, 2, 3 };
 25         for (int num : arr) {
 26             System.out.println(num);
 27         }
 28     }
 29     
 30     @Test
 31     public void test2() {
 32         List list = new ArrayList();
 33         list.add(1);
 34         list.add(2);
 35         list.add(3);
 36         list.add(4);
 37         
 38         for(Object obj:list){
 39             int i = (Integer) obj;
 40             System.out.println(i);
 41         }
 42     }
 43     
 44     
 45     @Test
 46     public void test3() {
 47         Map map = new LinkedHashMap();
 48         map.put("1", "aaa");
 49         map.put("2", "bbb");
 50         map.put("3", "ccc");
 51         map.put("4", "ddd");
 52         map.put("5", "eee");
 53         
 54         //传统方式1
 55         Set set = map.keySet();
 56         Iterator it = set.iterator();
 57         while(it.hasNext()){
 58             String key = (String) it.next();
 59             String value = (String) map.get(key);
 60             System.out.println(key + "=" + value);
 61         }
 62     }
 63     
 64     
 65     @Test
 66     public void test4() {
 67         Map map = new LinkedHashMap();
 68         map.put("1", "aaa");
 69         map.put("2", "bbb");
 70         map.put("3", "ccc");
 71         map.put("4", "ddd");
 72         map.put("5", "eee");
 73         
 74         //传统方式2
 75         Set set = map.entrySet();
 76         Iterator it = set.iterator();
 77         while(it.hasNext()){
 78             Map.Entry entry = (Entry) it.next();
 79             String key = (String) entry.getKey();
 80             String value = (String) entry.getValue();
 81             System.out.println(key + "=" + value);
 82         }
 83     }
 84     
 85     @Test
 86     public void test5() {
 87         Map map = new LinkedHashMap();
 88         map.put("1", "aaa");
 89         map.put("2", "bbb");
 90         map.put("3", "ccc");
 91         map.put("4", "ddd");
 92         map.put("5", "eee");
 93         
 94         //增强for循环1
 95         for(Object obj:map.keySet()){
 96             String key = (String) obj;
 97             String value = (String) map.get(key);
 98             System.out.println(key + "=" + value);
 99         }
100     }
101     
102     @Test
103     public void test6() {
104         Map map = new LinkedHashMap();
105         map.put("1", "aaa");
106         map.put("2", "bbb");
107         map.put("3", "ccc");
108         map.put("4", "ddd");
109         map.put("5", "eee");
110         
111         //增强for循环2
112         for(Object obj:map.entrySet()){
113             Map.Entry entry = (Entry) obj;
114             String key = (String) entry.getKey();
115             String value = (String) entry.getValue();
116             System.out.println(key + "=" + value);
117         }
118     }
119     
120     //注意增强for循环只适合去数据,不可以该数据。
121     @Test
122     public void test7(){
123         int arr[] = {1,2,3};
124         for(int i:arr){
125             i = 10;
126         }
127         System.out.println(arr[0]);
128         System.out.println(arr[1]);
129         System.out.println(arr[2]);
130     }
131 
132 }

 

注意增强for循环只适合去数据,不可以该数据。要修改数据只能用传统方式。

 

posted @ 2017-02-05 11:34  alittlecomputer  阅读(728)  评论(0编辑  收藏  举报