经常我们要删除集合中的某些元素。有些可能会这么写。

  public void operate(List list){

  for (Iterator it = list.iterator(); it.hasNext();) {

  String str = (String)it.next();

  if (str.equals("chengang")){

  list.remove(str);

  }

  }

  }

  这种写法一运行就会报如下异常:

  Exception in thread "main" java.util.ConcurrentModificationException

  at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)

  因为list在循环中的时候是不可以删除它的元素的。后来我是这样做的,一种很笨的方法,思路是这样的:创建一个List专门存放要被删除的元素,循环过后,用List.removeAll方法把元素删除。代码如下:

  public void operate(List list){

  List removeList= new ArrayList();

  for (Iterator it = list.iterator(); it.hasNext();) {

  String str = (String)it.next();

  if (str.equals("chengang")){

  removeList.add(str);

  }

  }

  list.removeAll(removeList);

  }

  这样也确实可以解决问题了,但是方法实在太笨重,其实可以有更简单的更高效的方法,就是用Iterator.remove方法,如下:

  for (Iterator it = list.iterator(); it.hasNext();) {

  String str = (String)it.next();

  if (str.equals("chengang")){

  it.remove();

  }

  }

  所以,你对Java的基础知识了解越多,代码就会写得越简洁。相反如果你的代码特别复杂,则方法或设计一定有问题。

如何删除JAVA集合中的元素相关推荐

  1. Java 遍历 Set 集合的方法,以及如何遍历删除 Set 集合中的元素?

      Java 遍历 Set 有多种方式,如下示例所示. 一.Iterator 迭代器遍历 package com.example.demo.test;import java.util.HashSet; ...

  2. 删除list集合中特定元素的正确姿势

    背景 如何删除一个集合对象中的特定元素?小问题,但并不简单. 常见异常: ConcurrentModificationException java.util.ConcurrentModificatio ...

  3. java treeset 删除_删除Java TreeSet中的最高元素

    要删除最高元素,请使用pollLast()方法. 创建一个TreeSet并向其中添加元素-TreeSet tSet = new TreeSet(); tSet.add("78"); ...

  4. 循环的时候去删除集合中的元素 java.util.ConcurrentModificationException

    使用for循环,删除集合中的元素,会报错 java.util.ConcurrentModificationException 只能通过迭代器 iterator删除 1:在while循环中使用itera ...

  5. java删除集合元素吗_java如何删除集合中的元素

    java如何删除集合中的元素 如何使用java删除集合中的'元素呢?下面是小编给大家提供的删除集合中元素的常见方法,欢迎阅读,更多详情请关注应届毕业生考试网. Java代码如下: package co ...

  6. js删除两个集合中共同元素_多个集合中的共同和独特元素

    js删除两个集合中共同元素 本周,我们将暂时中断较高级别的问题和技术文章,以解决我们中许多人可能面临的一些代码问题. 没什么花哨的或太辛苦的,但是有一天它可能会节省您15分钟的时间,偶尔回到基础上也很 ...

  7. lamuda表达式 list移除空元素_Lambda 表达式遍历集合时用remove方法删除list集合中满足条件的元素问题...

    一:循环遍历list集合的四种方式 简单for循环 iterator循环 增加for循环 Lanbda表达式 二:四种遍历方式的用法示例 //简单for循环 List fileList = new A ...

  8. java list 拼音排序_java中实现List集合中对象元素按其属性的中文拼音排序

    java中List集合的元素是按照添加顺序排序的,我们在实际开发过程中,可能会遇到需要对其内容进行排序的场景,接下来对我遇到的场景所采用的解决方式做个总结. 一.业务场景 管理后台商户名称下拉列表,需 ...

  9. PageCollectionView[Bug],使用Filter的时候,删除集合中的元素,会导致ArgumentOutOfRangeException...

    PageCollectionView,没有使用Filter的时候一切正常:当使用Filter的时候,删除集合中的元素,会抛出如下异常: 1: 指定的参数已超出有效值的范围.\n参数名: index 2 ...

最新文章

  1. 快速开发rails、==常用插件==
  2. nginx+tomcat的负载均衡
  3. 新元素之video,audio,meter,datalist,keygen,output
  4. 探讨TensorRT加速AI模型的简易方案 — 以图像超分为例
  5. 配置IntelliJ IDEA
  6. 试着翻译24小时自学SQL第四版
  7. 蓝桥杯第八届省赛JAVA真题----包子凑数
  8. php截取字符串几位数,php按照指定长度截取字符串的代码
  9. ArcGIS API for JavaScript:Layer之间那点儿事
  10. pitr 原理_pgsql的备份和恢复
  11. 医疗大数据为何发展如此缓慢
  12. 打开WORD 2003时提示发现错误,需要关闭,还要发送错误报告给Microsoft 解决方案...
  13. eclipse配置java开发环境_Java中Eclipse开发环境配置
  14. 如何用html和css制作网页,html和css如何实现制作一个网页
  15. 豆瓣上最受关注的 10 本书(附下载)
  16. VS2010 中修改项目名称
  17. minigui相关硬件加速添加方法
  18. Turing GPU将如何彻底改变沉浸式AI
  19. MathType 6.9中积分符号不显示该怎样解决
  20. 8.12 纪中集训 Day12

热门文章

  1. java判断是否是doc文件_java判断文件类型
  2. android opencv 识别文字_基于SpringBoot的车牌识别系统(附项目地址)
  3. python命令行进入帮助模式_python命令行模式直接查看帮助
  4. 微x怎么设置主题_红人堂:抖音直播预告文案怎么写?5个小技巧提高你的文案吸引力!...
  5. java中主函数抛出的异常怎么解决_java – 从递归函数中抛出异常
  6. 固定导航栏android,Android 状态栏和导航栏的真终极解决方案
  7. matlab幂法的瑞利商加速,瑞利商加速定理14.PPT
  8. c语言字符密码验证码,c语言下的学生管理系统(含密码加密和验证码).docx
  9. webService学习8:wsdl文档解释
  10. 算法训练 最长字符串 java