zoukankan      html  css  js  c++  java
  • Java 增强型的for循环 for each

     

    For-Each循环

      For-Each循环也叫增强型的for循环,或者叫foreach循环。

      For-Each循环是JDK5.0的新特性(其他新特性比如泛型、自动装箱等)。

      For-Each循环的加入简化了集合的遍历。

    其语法如下:

      for(type element: array)

      {

            System.out.println(element);

      }

    例子

      其基本使用可以直接看代码:

      代码中首先对比了两种for循环;之后实现了用增强for循环遍历二维数组;最后采用三种方式遍历了一个List集合。

      

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class ForeachTest
    {
        public static void main(String[] args)
        {
            int[] arr = {1, 2, 3, 4, 5};
            
            System.out.println("----------旧方式遍历------------");
            //旧式方式        
            for(int i=0; i<arr.length; i++)
            {
                System.out.println(arr[i]);
            }
            
            System.out.println("---------新方式遍历-------------");
            
            //新式写法,增强的for循环
            for(int element:arr)
            {
                System.out.println(element);
            }
            
            System.out.println("---------遍历二维数组-------------");
            
            //遍历二维数组
            
            int[][] arr2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} ;
            
            for(int[] row : arr2)
            {
                for(int element : row)
                {
                    System.out.println(element);
                }
            }
            
            //以三种方式遍历集合List
            
            List<String> list = new ArrayList<String>();
            
            list.add("a");
            list.add("b");
            list.add("c");
            
            System.out.println("----------方式1-----------");
            //第一种方式,普通for循环
            for(int i = 0; i < list.size(); i++)
            {
                System.out.println(list.get(i));
                
            }
            
            System.out.println("----------方式2-----------");
            //第二种方式,使用迭代器
            for(Iterator<String> iter = list.iterator(); iter.hasNext();)
            {
                System.out.println(iter.next());
            }
            System.out.println("----------方式3-----------");
            //第三种方式,使用增强型的for循环
            for(String str: list)
            {
                System.out.println(str);
                
            }
        }
    
    }

      For-Each循环的缺点:丢掉了索引信息。

      当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。

    作者: 圣骑士Wind
    出处: 博客园: 圣骑士Wind
    Github: https://github.com/mengdd
    微信公众号: 圣骑士Wind
    微信公众号: 圣骑士Wind
  • 相关阅读:
    类的加载过程
    ASCII码表
    uboot main_loop函数分析
    串行CPU设计
    __attribute__ ((section(".text")))的测试
    NandFlash
    测试gcc的优化选项
    如何编写一个简单的makefile
    UBOOT的多支持性与可裁剪性
    函数指针的使用
  • 原文地址:https://www.cnblogs.com/mengdd/p/2870019.html
Copyright © 2011-2022 走看看