zoukankan      html  css  js  c++  java
  • 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循环只适合去数据,不可以该数据。要修改数据只能用传统方式。

  • 相关阅读:
    c学习第3天
    [BZOJ2124] 等差子序列
    CF710F String Set Queries
    Cow Hopscotch (dp+树状数组优化)
    CF528D Fuzzy Search (bitset)
    Gym 101667L Vacation Plans (dp)
    Codeforces 432D Prefixes and Suffixes (kmp+dp)
    [题解]BZOJ2115 XOR
    洛谷 P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
    从中国矢量图筛选出江苏省行政区划图
  • 原文地址:https://www.cnblogs.com/LoganChen/p/6367245.html
Copyright © 2011-2022 走看看