美文网首页
深入理解java基础 -- 关于循环

深入理解java基础 -- 关于循环

作者: 近半生少年 | 来源:发表于2018-07-23 09:13 被阅读5次

    foreach 依赖 IEnumerable.

    for 循环每次循环会调用 GetCount() 来比较长度. 而 foreach 不考虑长度,只调用一次GetList()

    foreach语句的局限性 

    如果要引用数组或者集合的索引,则foreach语句无法做到,foreach仅仅老老实实地遍历数组或者集合一遍。

    总结如下:

    1.如果只是遍历集合或者数组,用foreach好些,快些。

    2.如果对集合中的值进行修改,就要用for循环了。其实foreach的内部原理其实也是Iterator,但它不能像Iterator一样可以人为的控制,而且也不能调用。iterator.remove();更不能使用下标来访问每个元素,所以不能用于增加,删除等复杂的操作。

    3.在固定长度或长度不需要计算的时候for循环效率高于foreach。

    4.在不确定长度,或计算长度有性能损耗的时候,用foreach比较方便,并且foreach的时候会锁定集合中的对象.期间不能修改。

    相关文章

      网友评论

          本文标题:深入理解java基础 -- 关于循环

          本文链接:https://www.haomeiwen.com/subject/lsjdmftx.html