精华内容
下载资源
问答
  • 下面小编就为大家带来一篇java增强for循环的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • NULL 博文链接:https://rensanning.iteye.com/blog/2003205
  • 下面小编就为大家带来一篇老生常谈foreach(增强for循环)和for的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 主要介绍了详解Java中list,set,map的遍历与增强for循环的相关资料,需要的朋友可以参考下
  • 增强for循环

    2021-05-23 20:21:23
    增强for循环一、什么是增强for循环?二、使用步骤1.引入库2.读入数据总结 一、什么是增强for循环增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合。其内部原理是一个...

    一、什么是增强for循环?

      增强for循环 (也称for each循环) 是迭代器遍历方法的一个“简化版”,是JDK1.5以后出来的一个高级for循环,专门用来遍历数组集合

      其内部原理是一个Iteration迭代器,在遍历数组/集合的过程中,不能对集合中的元素进行增删操作。

    二、增强for循环的使用

      1.使用范围:用来遍历集合和数组(必须有遍历目标,目标只能是集合或者数组),所有单列表集合都可以使用增强for循环。
      2.格式如下:

    for(ElementType element: arrayName) 
    { //集合或数组的数据类型 变量名:集合名/数组名
    	System.out.println(变量名)};
    

    上述for循环可被读为:
    for each element in arrayName do {…}

    例如:
    ①使用普通for循环

        int[] num = {1,2,3,4,5,6};
        for(int i =  0 ; i<num.length ; i++){ 
            System.out.println("元素:"+ num[i]); 
        } 
    

    ②使用增强for循环

    	 int[] num = {1,2,3,4,5,6};
         for(int i :num){   //集合或数组a : 数组名称num
             System.out.println("元素:"+ i); 
         } 
    

    三、使用时要注意的事项

    1.增强for循环底层也是使用了迭代器获取的,在使用增强for循环遍历元素的过程中不准使用集合对象对集合的元素个数进行修改

    2.迭代器与增强for循环遍历元素的区别:使用增强for循环遍历集合的元素时,不能调用迭代器的remove方法删除元素而使用迭代器遍历集合的元素时可以删除集合的元素。

    3.增强for循环和普通for循环的区别:普通for循环可以没有遍历的目标,而增强for循环一定要有遍历的目标

    总结

    相对于普通for循环(;;)而言 增强for循环有两个好处:

    1.写起来简单容易

    2.遍历集合、数组比较简单

    展开全文
  • 下面小编就为大家带来一篇Java中增强for循环在一维数组和二维数组中的使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 增强的for循环是在传统的for循环中增加的强大的迭代功能的循环,是在jdk1.5之后提出来的。下面这篇文章主要给大家介绍了关于Java中增强for循环的实现原理和坑的相关资料,需要的朋友可以参考下
  • 增强For循环

    2021-01-11 11:09:54
    增强For循环 增强for循环,其实就是为了偷懒,实现的功能还是和下面数组的功能是一样的 //遍历数组的结果是一样的 int [] numbers ={10,20,30,40,50}; //定义一个数组 for(int i=0;i<5;i++){ System.out....

    增强For循环

    1. 增强for循环,其实就是为了偷懒,实现的功能还是和下面数组的功能是一样的
    //遍历数组的结果是一样的
    int [] numbers ={10,20,30,40,50}; //定义一个数组
    
    for(int i=0;i<5;i++){
        System.out.println(numbers[i]);
    }
    System.out.println("===================================");
    //遍历数组的元素  //这是增强for循环,其实就是为了偷懒,实现的功能还是和上面数组的功能是一样的
    for (int x:numbers){
        System.out.println(x);
    }
    

    2.增强for循环的模板

    for(声明语句:表达式){

    //代码句子

    }

    • 声明语句:局部变量,改变量的类型必须和数组元素的类型匹配

    • 表达式:表达式是要访问的数组名,或者是返回值为数组的方法

    展开全文
  • for循环分为两种:一种为普通for循环,一种为增强for循环(也就是foreach循环) 区别: 1)任何循环都能用普通for循环运行,但不一定能用增强for循环,也就是增强for循环的使用范围要小。 2)增强for循环内部其实是...

    for循环分为两种:一种为普通for循环,一种为增强for循环(也就是foreach循环)
    区别:

    1)任何循环都能用普通for循环运行,但不一定能用增强for循环,也就是增强for循环的使用范围要小。
    2)增强for循环内部其实是使用了Iterator迭代器遍历的,只能遍历数组和实现了Interable接口的集合。
    3)普通for循环可以获取元素索引,增强for循环无法获取元素索引
    4)增强for循环比普通for循环代码更简洁。
    5)增强for循环必要有被遍历的目标。
    6)增强for循环无法在循环时动态的删除元素和获取下标。
    7)对于非集合类(没有实现 Iterable接口的)的数组遍历,增强型for循环和普通循环遍历原理相同,效率基本相同。
    8)对于集合类(实现了Iterable接口的),增强型for循环的遍历其本质就是迭代器 iterator的遍历,和普通循环遍历相比,各自有自己适用的场景,比如说普通for循环比较适合List类(数组类)遍历通过下标查找数据的,而增强型for循环则比较适合链表结构的集合的遍历。

    下面来demo对比下区别:

    1.对于数组循环,两种循环效率基本相同
      public static void main(String[] args) {
            //定义数组长度为1000万
            Integer[] a = new Integer[10000000];
            for (int i = 0; i < a.length; i++) {
                a[i] = i;
            }
            int b = 0;
            long startTime = System.currentTimeMillis();
            //1.开始普通for循环
            for (int i = 0; i < a.length; i++) {
                b = a[i];
            }
            System.out.println("1000万次循环普通for循环消耗时间:" + (System.currentTimeMillis() - startTime));
    
    
            //2.开始增强for循环
            long startTime1 = System.currentTimeMillis();
            for (int i : a) {
                b = i;
            }
            System.out.println("1000万次循环增强for循环消耗时间:" + (System.currentTimeMillis() - startTime1));
    
        }
    

    运行结果如下:1000万次循环时间仅仅相差两秒,基本可以忽略不计区别。

    
    1000万次循环普通for循环消耗时间:10
    1000万次循环增强for循环消耗时间:8
    
    
    2.增强for循环无法在循环中动态删除或新增元素
    package org.sang.test;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    /**
     * create by 86159 on 2021/1/13
     */
    public class Foreach {
        public static void main(String[] args) {
            //1.定义一个集合
            List<Map<String, Object>> list = new ArrayList<>();
            for (int i = 0; i < 10; i++) {
                Map map = new HashMap();
                map.put("id", i);
                map.put("msg", "消息" + i);
                list.add(map);
            }
            //2.删除偶数位元素
            for (Map lmap : list) {
                if ((int) lmap.get("id") % 2 == 0) {
                    list.remove(lmap);
                }
            }
            System.out.println(list.size());
        }
    }
    
    

    运行结果如下:

    Exception in thread "main" java.util.ConcurrentModificationException
    	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
    	at java.util.ArrayList$Itr.next(ArrayList.java:859)
    	at org.sang.test.Foreach.main(Foreach.java:42)
    
    Process finished with exit code 1
    

    注意这个java.util.ConcurrentModificationException异常,就是在这个增强for循环中进行了remove元素操作。

    同理,调用add添加元素也是报同样的错误,这种情况,需要动态的删除或新增集合中的元素,则建议使用普通for循环操作。

    总结:
    能用增强for循环的一定能用普通for循环,能用普通for循环的不一定能用增强for循环。

    展开全文
  • C++增强for循环

    千次阅读 2020-05-17 19:07:58
    for循环是常见的代码语句,常规的for循环如下 #include <iostream> using namespace std; int main() { int array[] = { 1,1,2,3,5,8 }; //常规for循环 for (int i = 0; i < sizeof(array) / ...

             for循环是常见的代码语句,常规的for循环如下

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    	int array[] = { 1,1,2,3,5,8 };
    
    	//常规for循环
    	for (int i = 0; i < sizeof(array) / sizeof(array[0]); i++)
    	{
    		cout << array[i] << " ";
    	}
    
    	cout << endl;
    
    	return 0;
    }

            C++ 11有类型自动推导auto关键字,在for循环中可以使用,上面的数组输出可以写成下面这种形式:

            for (auto item : array)
    	{
    		cout << item << " ";
    	}

            for(auto 元素 :数据集合),这种写法在迭代一些容器时很方便,不用写迭代器。例如,下面输出multiset的内容:

    #include <iostream>
    #include <set>
    
    using namespace std;
    
    int main()
    {
    	multiset<int> ms = { 1,2,6,2,4,3,3,8 };
    
    	//增强for循环输出
    	for (auto item : ms)
    	{
    		cout << item << " ";
    	}
    	cout << endl;
    
    	//迭代器模式输出
    	for (multiset<int>::iterator it = ms.begin(); it != ms.end(); it++)
    	{
    		cout << *it << " ";
    	}
    	cout << endl;
    
    	return 0;
    }

           用了增强for循环后,代码更简洁了。

    展开全文
  • for循环与增强for循环

    千次阅读 2019-02-26 00:00:58
    @for循环与增强for循环 for与增强for循环的对比 for循环分为两种: 第一种为普通的for循环 这种for循环通常需要三个步骤即 for(初始表达式;条件表达式;递增表达式)有时候递增表达式也可以省去,一般是在使用...
  • 增强for循环的用法

    2020-09-06 17:20:00
    一、增强for循环 增强for循环的作用:简化迭代器的书写格式。...增强for循环的缺点:增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的,但是增强for循环有些缺点,例...
  • 增强for循环 Java5 引入了一种主要用于数组或集合的增强型for循环 Java 增强for循环语法格式如下: for (声明语句 : 表达式) { // 代码句子 } 我们创建一个 ForDemo05 演示增强for循环 声明语句:声明新的局部变量...
  • 集合--List集合,增强for循环

    千次阅读 2020-12-15 09:26:24
    } } 增强for循环 为什么需要增强for循环? 简化数组和集合的遍历 增强for循环的格式: 案例演示(使用增强for遍历List集合) import java.util.ArrayList; import java.util.List; public class Test { public ...
  • for循环之增强for循环

    2020-11-05 17:46:36
    增强for循环,属于for循环的一种用法,不同的是增强型for只能用来取值,却不能用来修改数组里面的值 //对数组进行遍历 int a[] = new int[]{1,2,3,4,5}; //常规for循环遍历 for int(i = 0; i < a.length; i++) ...
  • 增强for循环:底层使用的也是迭代器,使用for循环的格式,简化了迭代器的书写 是JDK1.5之后出现的新特性 Collection<E>extends Iterable<E>:所有的单列集合都可以使用增强for循环 p...
  • 一、增强for循环 1. 三种常用for循环 // 普通for循环遍历 for (int i = 0; i < list.size(); i++) { System.out.print(list.get(i) + ","); } // 迭代器循环遍历 Iterator iterator = list.iterator(); while...
  • 在JAVA中,遍历集合和数组...for (int i = 0; i < list.size(); i++) { System.out.print(list.get(i) + ","); } Iterator iterator = list.iterator(); while (iterator.hasNext()) { System.out.print(ite...
  • 原创: Hollis ...for (int i = 0; i &lt; list.size(); i++) {  System.out.print(list.get(i) + ","); } Iterator iterator = list.iterator(); while (iterator.hasNext()) {  Sy...
  • 1、案例: public void doBlanking(List<String> ids...增强for循环,umppWorkOrder1变量类型和woList数组存放类型一样; 2) 变量mrlCodeList接收的变量类型和 umppWorkOrder.getProduCode()一样;  
  • Java增强for循环

    万次阅读 多人点赞 2018-10-30 17:17:24
    1、 for循环的一种,简化了数组和集合的遍历,可以用来替代迭代器 2、 格式:  a) for(元素数据类型 变量:数组或者Collection集合){使用变量即可...增强for循环实例 package test10_collecton; //增强for实例 imp...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 132,345
精华内容 52,938
关键字:

加强for循环