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

作者:jingxian 时间:2023-03-30 18:51:05 

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,循环
0
投稿

猜你喜欢

  • Android中如何指定SnackBar在屏幕的位置及小问题解决

    2023-08-07 07:56:19
  • Spring Cloud动态配置刷新RefreshScope使用示例详解

    2022-05-23 15:05:32
  • Java实现滑动验证码生成(后端工具类)

    2022-02-07 01:26:37
  • 详解SpringBoot注册Windows服务和启动报错的原因

    2022-12-28 17:10:09
  • Android设计模式之Builder模式解析

    2022-02-11 20:07:46
  • c# 如何实现代码生成器

    2023-11-13 19:23:35
  • C#实现泛型动态循环数组队列的方法

    2022-11-03 05:05:42
  • C#读取系统字体颜色与大小的方法

    2021-12-29 07:54:57
  • C#操作INI文件的辅助类IniHelper

    2022-04-18 07:55:34
  • c#动态加载卸载DLL的方法

    2023-06-08 08:18:08
  • Android 刘海屏适配总结(推荐)

    2022-03-23 23:26:55
  • C# 内部类与Lambda表达式用法详解

    2022-07-13 05:54:11
  • Java集合系列之ArrayList源码分析

    2023-01-31 03:02:36
  • Android Studio真机无线连接USB设备调试运行详解流程

    2023-12-13 00:37:37
  • 微信公众号 网页授权登录及code been used解决详解

    2023-02-06 18:49:00
  • WindowsForm实现警告消息框的实例代码

    2023-05-25 00:00:54
  • Java常用流程控制语句实现原理解析

    2023-11-08 14:11:34
  • Android实现系统级悬浮按钮

    2022-12-15 00:44:26
  • C# SynchronizationContext以及Send和Post使用解读

    2023-10-16 04:27:28
  • flutter实现扫码枪获取数据源禁止系统键盘弹窗示例详解

    2023-07-23 01:52:41
  • asp之家 软件编程 m.aspxhome.com