`
chengyue2007
  • 浏览: 1469954 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

java.util.ConcurrentModificationException

    博客分类:
  • java
阅读更多

就是说在遍历的过程中不能删除原来list里面的值,要想删除先删除遍历器里面的再删除list里面的,

或是等你遍历完事了在删除

  • Iterator<MonthlyStatData> it = papers.iterator();   
            while (it.hasNext()) {   
                MonthlyStatData data = it.next();   
                if (data.getValue == 0 ) {   
                    papers.remove(data);   
                }   
            }  
    
    1.  上面的代码是说有个月统计的List, 里面有部分统计数据是0, 不想让出现,于是就迭代遍历,删除统计数据是0的数据. 但是上面的代码会导致ConcurrentModificationException, 正确的应该是:

      Iterator<MonthlyStatData> it = papers.iterator();   
              while (it.hasNext()) {   
                  MonthlyStatData data = it.next();   
                  if (data.getValue == 0 ) {   
                      it.remove();   
                      papers.remove(data);   
                  }   
              }  
      

       

       

      分享到:
      评论

      相关推荐

      Global site tag (gtag.js) - Google Analytics