删除List和Set中的某些元素

错误代码的写法:

Set<String> set = new HashSet<String>();
set.add("aaaaaa");
set.add("bbbbbb");
set.add("cccccc");
set.add("dddddd");
set.add("eeeeee");
set.add("ffffff");
set.add("gggggg");
for (String str : set) {
if ("dddddd".equals(str)) {
set.remove(str);
}
}

运行报错:

Exception in thread "main" java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
at test2.Test1.main(Test1.java:16)

使用如上方式遍历的时候,不能增加、删除set中的数据

正确代码的写法

Set<String> set = new HashSet<String>();
set.add("aaaaaa");
set.add("bbbbbb");
set.add("cccccc");
set.add("dddddd");
set.add("eeeeee");
set.add("ffffff");
set.add("gggggg");
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
if ("dddddd".equals(str)) {
it.remove();
}
}
for (String str : set) {
System.out.println(str);
}

输出:

aaaaaa
ffffff
eeeeee
bbbbbb
cccccc
gggggg

最新文章

  1. MySQL 存储过程游标
  2. 真机远程调试 ( IOS Android 以及微信,weex)
  3. 解决Unity3D导出apk失败:Failed to re-package resources
  4. 指定YUM安装包的体系结构或版本
  5. 转载:有关SQL server connection KeepAlive 的FAQ
  6. Python练习题 028:求3*3矩阵对角线数字之和
  7. Guava: 事件总线EventBus
  8. 将默认的Netbeans中文版设置为英文界面
  9. 【技术贴】第二篇 :解决使用maven jetty启动后无法加载修改过后的静态资源
  10. 后缀数组的一些性质----height数组
  11. R语言实战(四)回归
  12. Python 的笔试题
  13. hdu1051 Wooden Sticks---贪心
  14. nohup 写法
  15. 微信小程序之发送模板消息(通过openid推送消息给用户)
  16. 深入理解 MySQL ——锁、事务与并发控制
  17. mybatisz中一个可以替代between..and 的技巧
  18. Jmeter—控件
  19. python之time&amp;datetime
  20. Scrapy爬取美女图片续集 (原创)

热门文章

  1. mysql 导入 csv文件中数据,只能导入第一行
  2. Codeforces1070 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)总结
  3. .NET/C# 使用 Span 为字符串处理提升性能
  4. Django之tag标签和filter标签
  5. LG3690 【模板】Link Cut Tree (动态树)
  6. 使用npm install报错- operation not permitted解决
  7. 可以方便配合 Git 的现代编辑器
  8. saiku迁移至mysql步骤
  9. 301重定向方法大全及SEO中网址规范化,看着不错先收下
  10. QT——在QGraphicsScene中限制图元的拖动范围