首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java之学习集合的并发修改及案例

java之学习集合的并发修改及案例

作者头像
吾爱乐享
发布2018-07-13 11:18:34
3640
发布2018-07-13 11:18:34
举报
文章被收录于专栏:吾爱乐享吾爱乐享吾爱乐享

结果示意图

A:案例演示

  • * 需求:我有一个集合,请问,我想判断里面有没有”world”这个元素,如果有,我就添加一个”javaee”元素,请写代码实现。

B:ConcurrentModificationException出现

  • * 迭代器遍历,集合修改集合

C:解决方案

  • * a:迭代器迭代元素,迭代器修改元素(ListIterator的特有功能add)
  • * b:集合遍历元素,集合修改元素

案例代码

  1. package com.fenxiangbe.collection;
  2. import java.util.ArrayList;
  3. import java.util.Collection;
  4. import java.util.Iterator;
  5. import java.util.List;
  6. import java.util.ListIterator;
  7. import com.fenxiangbe.bean.Student;
  8. public class Demo_Collection5 {
  9. /**
  10. * A:案例演示
  11. * 需求:我有一个集合,请问,我想判断里面有没有”world”这个元素,如果有,我就添加一个”javaee”元素,请写代码实现。
  12. B:ConcurrentModificationException出现
  13. * 迭代器遍历,集合修改集合
  14. * C:解决方案
  15. * a:迭代器迭代元素,迭代器修改元素(ListIterator的特有功能add)
  16. * b:集合遍历元素,集合修改元素
  17. */
  18. @SuppressWarnings({ “unchecked”, “rawtypes” })
  19. public static void main(String[] args) {
  20. List c = new ArrayList();
  21. c.add(“a”);
  22. c.add(“b”);
  23. c.add(“world”);
  24. c.add(“c”);
  25. /*Iterator i = c.iterator();//创建迭代器
  26. while(i.hasNext()){//循环查找,是否存在元素
  27. String s = (String)i.next();//向下转型,取出每一个元素可以调用
  28. if(s.equals(“world”)){
  29. c.add(“javaee”);//遍历的同时增加元素,并发修改错误提示ConcurrentModificationException
  30. }
  31. }*/
  32. ListIterator lt = c.listIterator();
  33. while(lt.hasNext()){//循环查找是否存在元素
  34. String s = (String)lt.next();//向下转型
  35. if(“world”.equals(s)){
  36. lt.add(“javaee”);//遍历的同时增加元素
  37. }
  38. }
  39. System.out.println(c);
  40. }
  41. }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-09-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 结果示意图
  • A:案例演示
  • B:ConcurrentModificationException出现
  • C:解决方案
  • 案例代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档