【发布时间】:2013-07-07 11:24:19
【问题描述】:
如果我们有两种迭代方式:
第一:
Object ob;
ArrayList<Obect> list;
for(int i=0;i<list.size();i++)
{ //Todo}
第二:
Object ob;
ArrayList<Obect> list;
for(Object o:list)
{ //Todo}
那么有什么区别呢?我发现在第二种情况下,如果尝试在这个循环中删除对象,我会得到一个并发修改异常。
【问题讨论】:
-
查看docs了解更多信息。
-
第一种情况通常也不是删除对象的好选择。考虑一下,当您删除当前索引处的对象时,列表中的剩余项目和循环索引会发生什么。
标签: java