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

从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
, for循环
, 遍历数组
foreach循环
foreach循环遍历数组、java foreach遍历数组、java for循环遍历数组、java循环遍历数组、foreach遍历数组,以便于您获取更多的相关知识。

时间: 2024-10-28 01:03:53

Java中遍历数组使用foreach循环还是for循环?_java的相关文章

在java中,有没有什么办法可以用循环的方法可以初始化很多对象到一个对象数组或者是集合当中去

问题描述 在java中,有没有什么办法可以用循环的方法可以初始化很多对象到一个对象数组或者是集合当中去 如上所述,我想要把一系列的对象初始化到一个数组或者是集合当中去,这个该怎么实现? 解决方案 List list=new ArrayList(); for(int i=0;i<10;1++){ A a=new A(); list.add(a); } 解决方案二: 不知道你想表达什么,,用一个for循环初始化后放到数组中去不就行了 解决方案三: 按照你的需求,如果你的初始化数据有规律的话,可以用循

详解Java中的数组与字符串相关知识_java

Java数组的定义和使用 如果希望保存一组有相同类型的数据,可以使用数组. 数组的定义和内存分配 Java 中定义数组的语法有两种: type arrayName[]; type[] arrayName; type 为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量.例如: int demoArray[]; int[] demoArray; 这两种形式没有区别,使用效果完全一样,读者可根据自己的编程习惯选择

smarty 遍历数组之foreach,section实例

1,一维数组  代码如下 复制代码     array (        "0" => 'home',        '1' => 'who',        '2'=> 'tank',        '3'=> 'what'       );      $this->tpl->assign("onearray", $this->onearray); foreach来读取  代码如下 复制代码     {foreach fr

php遍历数组 list foreach each方法总结

  在php中可以用来遍历数组的函数有很多,如有:for语句.list.each.foreach这四个函数,这也是在php中遍历数组的几个主要的函数,下面我来给大家介绍.   foreach遍历数组 我们在运用数组时,常常要遍历数组并获得各个键或者元素值,php提供了一些专门遍历数组的函数.这里先介绍foreach遍历数组函数的用法. 结构形式: foreach ( array_expression as $value ) statement /* array_expression是要遍历的数组

java中String数组问题,String[3][2]是表示有6个对象吗?

问题描述 java中String数组问题,String[3][2]是表示有6个对象吗? String[ ][ ] zhuangtai=new String[3][2]; 是表示有6种不同的状态吗,如何理解呢?新手提问,莫见笑 解决方案 上面的错了,应该都是从00开始 这是一个二维数字,里面可以存储6个属性 分别为[0][0] [0][1] [1][0] [1][1] [2][0] [2][1] 你可以看下我这篇文章http://blog.csdn.net/zhanggang740/article

浅谈java中对集合对象list的几种循环访问_java

java中对集合对象list的几种循环访问的总结如下  1 经典的for循环  public static void main(String[] args) { List<String> list = new ArrayList(); list.add("123"); list.add("java"); list.add("j2ee"); System.out.println("=========经典的for循环======

* java 中的数组 对象数组 以及main方法中的参数 x y不用中间参数实现交换

 /*  java 中的数组  对象数组   以及main方法中的参数    x y不用中间参数实现交换java 基本数据类型 的数组 初始化元素为 0java中数组名.length表示数组中元素的个数 main方法中的 args[] 从0开始 是java 类  后面的字符串  args.length也是保存了 元素的个数 System.out.println()  在打印对象的时候 包括我们自己定义的对象 他会调用toString方法 因为所有类都是从object派生而来  打印出类测描述建议

字符-java 中byte数组转换问题,求思路

问题描述 java 中byte数组转换问题,求思路 现在做的项目有一个byte数组转换的问题,思考很久没有思路,求各路大神给点意见. 需求 :将一个byte数组中的每个元素拆分成两个byte.分别保存前一个byte中的16进制两位的内容的ascii码. 事例 : byte[] a = {0x24,0xBD}; byte[] b = new byte[4]; 想得到的结果: b[0] == 0x32; b[1] == 0x34; b[2] == 0x42; b[3] == 0x44;

在java中一维数组和二维数组有什么区别吗?

问题描述 在java中一维数组和二维数组有什么区别吗? 求大神指点java中一维数组和二维数组的区别,为什么一位数组是一行 二维数组可以定义多行 解决方案 如图黑色的是一维数组红色的是二维数组一维数组用来存数据二维数组用来存一维数组 解决方案二: JAVA中一维数组和二维数组的定义一维数组及二维数组的用法java中arraylist和一维数组二维数组的转换 解决方案三: 一楼正解,一维和二维的区别就是线和面的区别,一维的数组你就可以通过一个下标来准确定位,而二维的就需要有两个就像坐标系一样,一维