浅谈java 增强型的for循环 for each

 更新时间:2016年10月02日 10:30:39   投稿:jingxian  
下面小编就为大家带来一篇浅谈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循环,因为它丢失了下标信息。

以上就是小编为大家带来的浅谈java 增强型的for循环 for each的全部内容了,希望对大家有所帮助,多多支持脚本之家~

相关文章

  • 浅谈SpringSecurity注解与AOP切面执行顺序

    浅谈SpringSecurity注解与AOP切面执行顺序

    这篇文章主要介绍了浅谈SpringSecurity注解与AOP切面执行顺序,引入Spring Security后,在Controller的方法中会出现Spring Security的方法注解与AOP同时存在的问题,这是就会设计顺序问题,需要的朋友可以参考下
    2023-10-10
  • Java读取项目json文件并转为JSON对象的操作

    Java读取项目json文件并转为JSON对象的操作

    这篇文章主要介绍了Java读取项目json文件并转为JSON对象的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • java selenium使用浏览器调试工具实现方法

    java selenium使用浏览器调试工具实现方法

    本文主要介绍java selenium使用浏览器调试工具,这里整理了几种浏览器的调试方法,有需要的小伙伴可以参考下
    2016-08-08
  • spring boot优雅集成redisson详解

    spring boot优雅集成redisson详解

    这篇文章主要为大家介绍了spring boot优雅集成redisson详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Java IO学习之缓冲输入流(BufferedInputStream)

    Java IO学习之缓冲输入流(BufferedInputStream)

    这篇文章主要介绍了Java IO学习之缓冲输入流(BufferedInputStream)的相关资料,需要的朋友可以参考下
    2017-02-02
  • 浅析JAVA Lock锁原理

    浅析JAVA Lock锁原理

    这篇文章主要介绍了JAVA Lock锁原理的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Spring根据XML配置文件 p名称空间注入属性的实例

    Spring根据XML配置文件 p名称空间注入属性的实例

    下面小编就为大家分享一篇Spring根据XML配置文件 p名称空间注入属性的实例,具有很好的参考价值。希望对大家有所帮助
    2017-11-11
  • JAVA进阶之HashMap底层实现解析

    JAVA进阶之HashMap底层实现解析

    Hashmap是java面试中经常遇到的面试题,大部分都会问其底层原理与实现,为了能够温故而知新,特地写了这篇文章,以便时时学习
    2021-11-11
  • Spring中的AutowireCandidateResolver的具体使用详解

    Spring中的AutowireCandidateResolver的具体使用详解

    这篇文章主要介绍了Spring中的AutowireCandidateResolver的具体使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Java框架之Maven SSM集合

    Java框架之Maven SSM集合

    本篇文章主要介绍了基于maven的ssm框架整合的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-09-09

最新评论