Java中遍历数组使用foreach循环还是for循环?

 更新时间:2015年06月15日 08:57:25   投稿:junjie  
这篇文章主要介绍了Java中遍历数组使用foreach循环还是for循环?本文着重讲解for语句的语法并给出使用实例,同时总结出尽量使用foreach语句遍历数组,需要的朋友可以参考下

从JDK1.5起,增加了新功能Foreach,它是for循环遍历数据的一种简写形式,使用的关键字依然是for,但参数格式不同。其详细用法为:

for(Type e:collection){ 
//对变量e的使用} 

参数说明:

e:其类型Type是集合或数组中元素值的类型,该参数是集合或数组collection中的一个元素。
collections: 要遍历的集合或数组,也可以是迭代器。

在循环体中使用参数e,该参数是foreach从集合或数组以及迭代器中取得的元素值,元素值是从头到尾进行遍历的。
具体例子:

//必须导入util下面的这两个包:ArrayList,List; 
import java.util.ArrayList; 
import java.util.List; 
public class Foreach { 
  public static void main(String[] arg){ 
    List<String> list = new ArrayList<String>(); //创建List集合 
    list.add("abc"); //初始化list集合 
    list.add("def"); 
    list.add("ghi"); 
    list.add("jkl"); 
    list.add("mno"); 
    list.add("pqr"); 
    System.out.print("Foreach遍历集合: \n\t");  
    for(String string:list){          //遍历List集合 
      System.out.print(string);        //输出集合的元素值 
    } 
    System.out.println(); 
    String[] strs = new String[list.size()];    
    list.toArray(strs);             //创建数组 
    System.out.println("Foreach遍历数组:\n\t"); 
    for(String string: strs){          //遍历数组 
      System.out.print(string);        //输出数组元素值 
    } 
  }  
} 

总结:

JDK之前的版本使用for循环对集合、数组和迭代器进行遍历,这需要创建索引变量、条件表达式,这些会造成代码混乱,并增加出错的几率。并且每次循环中,索引变量或迭代器都会出现3次,有两次出错的机会。并且会有一些性能方面的损失、其性能稍微落后于foreach循环。所以对于数据集合的遍历,建议使用Foreach循环。

相关文章

  • java版数独游戏界面实现(二)

    java版数独游戏界面实现(二)

    这篇文章主要为大家详细介绍了java版数独游戏界面实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • 使用Java实现通用树形结构构建工具类

    使用Java实现通用树形结构构建工具类

    这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-03-03
  • 解决Error occurred during initialization of VM Java虚拟机初始化失败问题

    解决Error occurred during initialization o

    这篇文章主要介绍了解决Error occurred during initialization of VM Java虚拟机初始化失败问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • springcloud gateway实现简易版灰度路由步骤详解

    springcloud gateway实现简易版灰度路由步骤详解

    这篇文章主要为大家介绍了springcloud gateway实现简易版灰度路由步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • 关于Rabbitmq死信队列及延时队列的实现

    关于Rabbitmq死信队列及延时队列的实现

    这篇文章主要介绍了关于Rabbitmq死信队列及延时队列的实现,TTL就是消息或者队列的过期功能,当消息过期就会进到死信队列,死信队列和普通队列没啥区别,然后我们只需要配置一个消费者来消费死信队列里面的消息就可以了,需要的朋友可以参考下
    2023-08-08
  • springboot整合jsp,实现公交车站路线图

    springboot整合jsp,实现公交车站路线图

    这篇文章主要介绍了springboot整合jsp,实现公交车站路线图的步骤,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2021-01-01
  • java实现/创建线程的几种方式小结

    java实现/创建线程的几种方式小结

    在JAVA中,用Thread类代表线程,所有线程对象都必须是Thread类或者Thread类子类的实例,下面这篇文章主要介绍了java实现/创建线程的几种方式,需要的朋友可以参考下
    2021-08-08
  • springboot注入yml配置文件 list报错的解决方案

    springboot注入yml配置文件 list报错的解决方案

    这篇文章主要介绍了springboot注入yml配置文件 list报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java序列化(Serialization) 机制

    Java序列化(Serialization) 机制

    本篇文章是对Java中对象的序列化(Serialization) 机制进行了详细的分析介绍,并附实例,需要的朋友可以参考下
    2016-07-07
  • 基于ChatGPT+SpringBoot实现智能聊天AI机器人接口并上线至服务器的方法

    基于ChatGPT+SpringBoot实现智能聊天AI机器人接口并上线至服务器的方法

    ChatGPT是一款基于自然语言处理技术的聊天机器人,ChatGPT可以模拟真实的人类对话,并能够更贴近用户的需求,提供更有价值的服务,这篇文章主要介绍了基于ChatGPT+SpringBoot实现智能聊天AI机器人接口并上线至服务器,需要的朋友可以参考下
    2023-02-02

最新评论