示例如下:
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