当前位置: 首页 > news >正文

去哪网网站设计风格吉林省网站制作公司有哪些

去哪网网站设计风格,吉林省网站制作公司有哪些,一个公司网站设计需求,永久免费库存管理软件ConcurrentModificationException并发修改异常 原因分析 可以通过遍历索引也可以通过迭代器进行遍历。在我们使用迭代器进行遍历集合的时候#xff0c;会获取到当前集合的迭代对象。在里面有封装了迭代器的remove方法与集合自带的remove方法#xff0c;如果我们调用迭代器对…ConcurrentModificationException并发修改异常 原因分析 可以通过遍历索引也可以通过迭代器进行遍历。在我们使用迭代器进行遍历集合的时候会获取到当前集合的迭代对象。在里面有封装了迭代器的remove方法与集合自带的remove方法如果我们调用迭代器对象的remove方法是没问题的但是当我们调用集合自带的remove方法时就会产生ConcurrentModificationException 并发修改异常。也就是说当我们通过非迭代器进行遍历集合的时候是不允许集合本身在结构上发生变化的。 增删操作会导致 预期数量和 计数器的数量不一致,就会导致并发修改异常 解决方式 1ListIterator列表迭代器list特有的迭代器将添加、删除元素交给迭代器去做而非集合 ListString list new ArrayList(); list.add(A); list.add(B); list.add(B); list.add(C);ListIteratorString stringListIterator list.listIterator(); while (stringListIterator.hasNext()) {String element stringListIterator.next();if(StringUtils.equals(element,C)) {// 在遍历时向列表中添加元素stringListIterator.add(D);} } System.out.println(list);//[A, B, B, C, D]2普通for循环删除时需要从后往前删除,因为从前往后删除可能会漏删删除第一个B之后索引到2但是本来索引2的元素第二个B却来到了索引1的位置 ListString list new ArrayList(); list.add(A); list.add(B); list.add(B); list.add(C);for (int i list.size()-1; i 0; i--) {if(StringUtils.equals(list.get(i),B)) {list.remove(B);} }System.out.println(list);3使用CopyOnWriteArrayList集合底层解决并发修改异常就可以使用集合的增删方法在遍历时操作 ListString list new ArrayList(); list.add(A); list.add(B); list.add(B); list.add(C);CopyOnWriteArrayListString copyOnWriteArrayList new CopyOnWriteArrayList(list); for (String ele :copyOnWriteArrayList){if(StringUtils.equals(ele,C)) {// 在遍历时向列表中添加元素copyOnWriteArrayList.add(D);} }System.out.println(copyOnWriteArrayList);//[A, B, B, C, D]4当遍历时需要删除元素时可以使用普通迭代器普通迭代器没有新增方法 ListString list new ArrayList(); list.add(A); list.add(B); list.add(B); list.add(C); //普通迭代器,只能删除,没有add IteratorString iterator list.iterator(); while (iterator.hasNext()){String next iterator.next();if(StringUtils.equals(next,B)) {iterator.remove();//迭代器删除第一个B然后hasNext拉到下一个B迭代器再删除一次} } System.out.println(list);//[A, C]5增强for循环底层采用迭代器遍历时删除(新增)只能用集合的删除(新增)方法还会报并发修改异常 ListString list new ArrayList(); list.add(A); list.add(B); list.add(B); list.add(C);for (String element : list) {//Caused by: java.util.ConcurrentModificationException: nullif(StringUtils.equals(element,B)) {list.add(B);} } System.out.println(list);//[A, B, B, C, D]
http://www.dnsts.com.cn/news/127878.html

相关文章:

  • 视频网站采集规则自己有了域名 怎么做网站
  • 苏州专业建设网站宿州市埇桥建设规划局网站
  • it外包一个人可以赚多少seo准
  • 合肥网站建设专业设计制作公司网页代码
  • 巴中建设银行官方网站云服务器网站文件夹
  • wordpress打开超级慢百度系优化
  • 做网站 智域大连物流网站建设报价
  • 网站建设洽谈公司简历模版
  • 开家网站建设培训学校熊掌号网站怎么做
  • 哈尔滨网站建设推荐好看的wordpress模版
  • 做网站用户充值提现亚洲
  • wordpress网站无法打开英文网站收录提交
  • 娄底网站建设是什么全球搜钻
  • 网站轮播图能用什么软件做网站模块划分规划
  • 成都网站开发排名新手怎么做seo优化
  • 自己网站内容怎么才能被百度抓取软装设计师主要做什么
  • 佛山seo网站排名哪里做网站比较稳定
  • 开网站 主机 服务器自动化的网站建设
  • 做软装找产品上哪个网站贵阳网站开发价格
  • 国内外优秀设计网站邯郸新闻
  • 焦作专业网站建设费用app外包公司大全
  • 京东网站建设机构用什么做wordpress
  • 酷炫网站源码山东德州网站建设哪家最好
  • 企业网站app制作价格做词做曲网站
  • 网站使用什么语言好天津河西做网站贵吗
  • vue可以做pc网站吗公司网站后台管理
  • 益阳市住房和城乡建设局网站专业的丹徒网站建设
  • 谷歌seo最好的公司seo营销名词解释
  • 济南网站建设yeptask网站建设需要具备哪些知识
  • 擦彩网站开发化妆品网站建设策划书