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

自学网站有哪些自学网/广告买卖网

自学网站有哪些自学网,广告买卖网,微商怎么做推广,专门做头像的网站版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ggwxk1990/article/details/77688195 今天学习集合遇到一个报错,经过排查发现集合遍历的时候和长度有关,集合如果一边遍历一边增删,会导致…
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ggwxk1990/article/details/77688195
今天学习集合遇到一个报错,经过排查发现集合遍历的时候和长度有关,集合如果一边遍历一边增删,会导致长


度size变化,规则发生变化,会报错。
此处mark一下:


报错如下:

Exception in thread “main” java.util.Concurat java.util.HashMap$HashIterator.nextEntry

(HashMap.java:894)rentModificationExcepti

at java.util.HashMap$KeyIterator.next(HashMap.java:928)on

at com.imooc.set.CatTest.main(CatTest.java:77)


原程序如下:
前面序列省略。。。。

for (Cat cat : set) {
     if (“花花”.equals(cat.getName())) {
       set.remove(cat);
     }
}
在单步调试中,此处cat.getName()已经获得“花花”,执行到set.remove(cat)时,是成功的,set.size 由原来3变为了2,但是再执行下一步时,直接报错,程序中断。

注意:这里的集合是无序的,但是在使用的时候,如果remove的对象是最后一个,那么不会报错,如果是前面的,就会涉及size变化,导致报错。


以下为两种解决办法:
方案1:
由于此处是set集合,所以每个元素均为唯一,如果匹配出的数据为1个的话,直接在set.remove()后加break跳出


即可。
for (Cat cat : set) {
     if (“花花”.equals(cat.getName())) {
       set.remove(cat);
       break;
     }
}
方案二:
如果匹配出的数据不唯一,有很多条,那么上面的方法就不可行了。
解决办法:采用removeAll 方法,用大集合减去小集合的方式得到结果。

将匹配得到的cat对象,先存入set1中,再用set集合减去set1集合即可

Set<Cat> set1=new HashSet<Cat>();
for (Cat cat : set) {
      if (cat.getMonth()<5) {
          set1.add(cat);
          }
}
set.removeAll(set1);


方案三:
这种方案比较上两种更容易理解。
思路:用while和迭代器遍历。但是这里删除的时候是调用集合的remove方法,不带参数,此处应该是不会涉及到size问题。此时,就可以删除,而且遍历成功。
it = set.iterator();
while (it.hasNext()) {
  Cat d = it.next();
  if (“花花”.equals(d.getName())) {
        it.remove();
      }
}

最后,在三种方法修改后,可以打印出结果,这里用for()循环即可,简单好用。
for (Cat cat : set) {
    System.out.println(cat);
}
            </div>

转自:https://blog.csdn.net/ggwxk1990/article/details/77688195

http://www.jmfq.cn/news/5079367.html

相关文章:

  • ccd设计公司很厉害吗/汕头seo管理
  • 万网域名注册官网邮箱/河北seo推广公司
  • css样式模板网站/推广普通话的内容简短
  • 游戏充值网站怎么做/app推广是什么工作
  • 做网站公司怎么找客户/网络营销服务企业
  • 中国最近新闻大事件/鹤壁seo推广
  • 怎么做下载网站吗/手机上制作网页
  • 学院网站建设/免费推广公司
  • b2c电子商务网站怎么做/seo入门
  • 建站平台免代码/网站搭建模板
  • 杭州市拱墅区疫情最新消息/郑州seo顾问
  • app怎么推广运营/襄阳网站推广优化技巧
  • 用网站名查询网址/seo基本步骤
  • 代码网站建设/成都网站seo费用
  • 商城网站建设适合于哪类企业/google关键词搜索量
  • 装修网站怎么做的好/亚马逊免费的关键词工具
  • 漳州城乡建设局网站/用asp做的网站
  • 个人做网站时不要做什么样的网站/上百度推广的网站要多少钱
  • 做全球视频网站赚钱吗/网络营销策划书怎么写
  • 国内界面优秀的网站/b站2020推广网站
  • 可以做任务挣钱的网站/免费找精准客户软件
  • 管理网站怎么做/腾讯域名注册官网
  • 南昌市住房和城乡建设局网站/快速排名生客seo
  • 设计师网站/关键词优化如何
  • 怎么做招聘网站的数据分析/有没有帮忙推广的平台
  • 做采集网站/浙江网站建设制作
  • 运城建设网站/百度普通下载
  • 云南网站建设百度官方/杭州seo搜索引擎优化公司
  • 桥梁建设网站/怎么做app推广代理
  • 响应式网站 html/网站如何优化推广