专栏名称: Java极客技术
Java 人的社区,专注 Java 一百年!
目录
相关文章推荐
今天看啥  ›  专栏  ›  Java极客技术

在foreach里面如果我们进行remove和add会发生什么大事呢?

Java极客技术  · 公众号  ·  · 2020-11-10 07:30
    

文章预览

每天早上 七点三十 ,准时推送干货 相信大家肯定都看过阿里巴巴开发手册,而在阿里巴巴开发手册中明确的指出,不要再foreach循环里面进行元素的add和remove,如果你非要进行remove元素,那么请使用Iterator方式,如果存在并发,那么你一定要选择加锁。 典型错误实例         List  list = new ArrayList < >();         list.add( "AA" );         list.add( "DD" );          for  (String str :list) {              if  ( "AA" .equals(str)){                 list.remove(str);             }         }         System.out.println(list); 相信大家执行这个代码的时候没有什么感觉,因为如果你把第一个放进去,执行的时候完全没有任何的问题,大家看结果。 [DD] Process finis ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览