zoukankan      html  css  js  c++  java
  • foreach 和for语句比较

    1、首先想到循环就是执行效率的问题,参考博客http://www.cnblogs.com/yzxchoice/archive/2007/12/15/995949.html

    2、

    测试时候发现出现“  集合已修改 ; 可能无法执行枚举操作 ”的问题

    查阅了一下发现for和foreach的一个算是蛮重要的区别

    foreach是取只读的,在取的时候数据不 能变(包括修改,删除,添加等),因为在取之前foreach的集合已经定好了,

    我们一旦执行增删改,相当于一边遍历一边往里加东西,遍历不明白了。

    要避免这个问题,可以使用for循环去完成此功能,或者先copy要foreach的对象,对copy的对象进行遍历,然后remove对象本身,不过copy的方法有时候并不太好用,最好还是用for解决。

    我做的是符合条件的remove,for时,i++,所以当移除某项后,下一项补上来了,因此要在符合条件的时候再来个i--,使得remove后,for循环继续执行补上来的下一项,如果只删除一项那就没必要i--操作。直接在删除后break;跳出循环即可。

  • 相关阅读:
    [Violet]蒲公英
    CF535-Div3
    逛公园
    exgcd
    线段树套线段树
    Luogu P2730 魔板 Magic Squares
    fhqtreap
    AtCoder Beginner Contest 115
    关于这个博客
    智障错误盘点
  • 原文地址:https://www.cnblogs.com/zlqblog/p/4761231.html
Copyright © 2011-2022 走看看