foreach与正常for循环效率对比

  • foreach

        foreach编译成字节码之后,使用的是迭代器实现的。

       foreach特点:

  1. 无须获取容器大小
  2. 需要创建额外的迭代器变量
  3. 遍历期间得到的是对象,没有索引位置信息,因此不能进行赋值操作。

 

  • for

       for特点:

  1. for需要获取容器大小,如果计算大小比较耗时,那么for循环效率会很低。
  2. for循环是根据容器的大小来防止越界,因此每次循环都需要进行一次比较。

 

  • 效率比较:

由于for循环的特性,每次循环都会进行比较,所以效率上不如foreach。但这个结论不是绝对的,还要考虑一下几点:

 

       1. 如果只是读数据,优先选择foreach

       2. 如果要写数据,即替换指定索引位置处的对象,就只能选择for

posted on 2017-03-17 19:12  一个不会coding的girl  阅读(744)  评论(0编辑  收藏  举报

导航