一、
用这种方法,元素的过滤是不完全的。只要list中有相邻2个相同的元素,就过滤不完。List调用remove(index)方法后,会移除index位置上的元素,index之后的元素就全部依次左移,即索引依次-1要保证能操作所有的数据,需要把index-1,否则原来索引为index+1的元素就无法遍历到(因为原来索引为index+1的数据,在执行移除操作后,索引变成index了,如果没有index-1的操作,就不会遍历到该元素,而是遍历该元素的下一个元素)。


2、
3、倒序遍历List删除元素-
4、foreach遍历List删除元素–错误!!!

5、迭代删除List元素–正确!
6、迭代遍历,用list.remove(i)方法删除元素–错误!!!

7、Java8 使用lambda表达式删除列表元素

可见使用lambda表达式的方法更为优雅,这里使用了List接口所继承的Collection接口在JDK 1.8新增的removeIf方法,该方法接收一个Predicate类型的参数,删除列表中满足Predicate条件的元素。
8、使用方法引用删除列表元素


除了lambda表达式,JDK 1.8还可以用一种称为方法引用的方式来删除列表中的元素,使用类似C++的::运算符,来引用一个对象的实例方法或一个类的类方法,下面就用方法引用的方式来删除一个列表中的指定元素。

总结
在JDK 1.8及之后,还可以使用lambda表达式和方法引用的方式正确地删除列表中的元素,这两种方式更为优雅。

Java List的安全删除相关推荐

  1. JAVA JDK老版本删除不彻底,环境变量设置无效,如何彻底卸载JAVA环境?

    一.现象 我电脑以前安装的是JAVA JDK11,最近删除JDK11,安装JDK14版本.JAVA_HOME也改成了"C:\Program Files\Java\jdk-14".. ...

  2. Java创建cookie和删除cookie

    Java创建cookie和删除cookie //写cookie操作         Cookie cooki;         cooki=new Cookie("bbs_0001" ...

  3. java 刷新界面_利用java如何实现在删除信息后刷新页面功能

    利用java如何实现在删除信息后刷新页面功能 发布时间:2020-11-17 14:25:49 来源:亿速云 阅读:74 作者:Leah 这篇文章给大家介绍利用java如何实现在删除信息后刷新页面功能 ...

  4. java使用迭代器删除元素_使用Java从地图中删除元素

    java使用迭代器删除元素 关于从Java中的Map删除元素的非常简短的文章. 我们将专注于删除多个元素,而忽略了您可以使用Map.remove删除单个元素的Map.remove . 以下Map将用于 ...

  5. 使用Java从地图中删除元素

    关于从Java中的Map删除元素的非常简短的文章. 我们将专注于删除多个元素,而忽略了您可以使用Map.remove删除单个元素的Map.remove . 以下Map将用于此帖子: Map<In ...

  6. java web删除文件_Web开发为了java端程序能删除文件的解决办法

    Web开发为了java端程序能删除文件,必须在.../jre/lib/security/java.policy文件中添加以下两个中的任何一段代码进去. 注:必须是服务器的本地文件,局域网内的其他机器文 ...

  7. java从数组中删除元素(数组的缩容)

    java从数组中删除元素(数组的缩容) 1,解决方案一 /* * 数组的缩容(删除元素) * 第一种解决方案 * 移动元素,被删除元素后面的元素往前移一位 * 优点:不需要创建新数组,省内存,速度快 ...

  8. Leetcode算法Java全解答--19. 删除链表的倒数第N个节点

    Leetcode算法Java全解答–19. 删除链表的倒数第N个节点 文章目录 Leetcode算法Java全解答--19. 删除链表的倒数第N个节点 题目 想法 结果 总结 代码 我的答案 大佬们的 ...

  9. java蓝桥杯练习 删除多余括号

    java蓝桥杯练习 删除多余括号 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 从键盘输入一个含有括号的四则运算表达式,要求去掉可能含有的多余的括号,结果要保持原表达式中变量和运算 ...

  10. java 遍历list并删除_Java遍历List并删除某些元素

    Java遍历List并删除某些元素 ​在阿里的Java编程规约中有一条:[强制]不要在foreach循环里进行元素的remove/add操作.remove元素请使用Iterator方式,如果并发操作, ...

最新文章

  1. sybase 珍藏(五)
  2. spring security之httpSecurity使用示例
  3. 分区和分片的区别_MySQL分区与分片的差异
  4. python----字符串方法
  5. Solr vs ElasticSearch,搜索技术哪家强
  6. Nginx+Tomcat+Memecached实现session共享配置
  7. Shell脚本学习-阶段十三-在 Linux 中使用日志来排错
  8. SDL2源代码分析6:复制到渲染器(SDL_RenderCopy())
  9. pythonmkdir语法错误_转--python使用mkdir函数出现错误WindowsError:[Error3]
  10. SAP 报表设计器相关TCODE
  11. 一次Full GC分析
  12. “趁年轻,浙样爱”陈晓景甜领衔春日恋爱宣言
  13. 【币圈止损】正确认知,合理运用
  14. 计算机方面各种级别论文版面费,国内计算机类杂志投稿评价.doc
  15. 纯净简洁绿色的解压缩软件
  16. Objective-C和C/C++混合编译
  17. ssh登录提示密码错误
  18. 今日头条自媒体搬运原创视频批量去水印消重包推荐0基础教程如何快速找素材进行伪原创-自媒体爆文之如...
  19. 百度卫星地图无法使用鼠标绘制工具的问题简单解决方案
  20. 谷歌影像、天地图、30mDEM、土地覆盖数据...一个软件都可免费下载

热门文章

  1. 日期抽象数据类型设计与实现作业总结
  2. 从 Web2 社交面临的挑战看,Web3 为何能够取而代之
  3. simulink enable嵌套问题
  4. 【MySQL(七)】脏页
  5. 十分钟自动执行一次_十分钟上手BDP,简单好用的数据分析神器
  6. 性能优化-service进程防杀
  7. 计算程序运行时间,并将毫秒换算成人看得懂的文字,展示形式为时分秒
  8. 【一名合格前端工程师的自检清单】--自检答案
  9. 解决Ubuntu无法调节外接显示器亮度的问题
  10. Python扫码登录保存和验证cookies值——微视篇(三)