2015062908 - EffactiveJava笔记 - 第46条 foreach优先传统for循环(4)

来源:互联网 发布:无锡华云数据垃圾 编辑:程序博客网 时间:2024/05/16 09:53
    有三种情况无法使用for-each循环,此时只能使用传统for循环.

    1.过滤,如果需要遍历集合,然后删除选定元素,此时只能使用显示的迭代器,以便可以调用remove方法.

    2.转化,如果需要遍历列表或者数组,并取代它部分或者全部的元素值,就需要列表迭代器或者索引,以便设定元素数值.

    3.平行迭代,如果需要并行迭代多个集合,就需要显式地控制迭代器或者索引值,以便所有迭代器或者索引值都可以同步前移.(具体看上面的案例,为什么是1 1,2 2,3 3,4 4,5 5,6 6)

   以上任何一种情况,都必须使用普通for循环,要警惕本条目中的陷阱!


0 0
原创粉丝点击