for-each循环使用iterator进行遍历分析

你猜 阅读:197 2021-07-21 22:32:40 评论:0

 示例如下:

public static void main(String args[]) 
    { 
        List list = new LinkedList(); 
        list.add("aa"); 
        list.add("bb"); 
        for(String item:list) 
        { 
            if("bb".equals(item)) 
                list.add("cc"); 
        } 
    }

我们看一下上面例子的 反编译代码:

public static void main(String args[]) 
    { 
        List list = new LinkedList(); 
        list.add("aa"); 
        list.add("bb"); 
        for(Iterator iterator = list.iterator(); iterator.hasNext();) 
        { 
            String item = (String)iterator.next(); 
            if("bb".equals(item)) 
                list.add("cc"); 
        } 
    }

for循环中使用iterator遍历,在循环中获取元素的时候,可以直接迭代出,而使用get则会遍历一遍获取对应的元素。

使用第二种方法遍历更快。

使用第二种方法的好处是可以在遍历的时候可以删除集合中的元素,如果在for循环中,是不能删除元素的。


标签:java
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
KIKK导航

KIKK导航

排行榜
关注我们

一个IT知识分享的公众号