1 代码示例
import java.util.*;
public class ForeachTest
{
public static void main(String[] args)
{
// 创建集合、添加元素的代码与前一个程序相同
Collection books = new HashSet();
books.add(new String("book1"));
books.add(new String("book2"));
books.add(new String("book3"));
for (Object obj : books)
{
// 此处的book变量也不是集合元素本身
String book = (String)obj;
System.out.println(book);
if (book.equals("book2"))
{
// 下面代码会引发ConcurrentModificationException异常
//books.remove(book); //①
}
}
System.out.println(books);
}
}
2 运行结果
book2
book1
book3
[book2, book1, book3]
3 代码分析
使用JDK1.5提供的foreach循环来迭代访问集合元素更加便捷。
当使用foreach循环迭代访问集合元素时,该集合也不能被改变,否则将引发ConcurrentModificationException异常。