ArrayList一边遍历一边删除?给大家介绍几种方法
文章目录
- 1、首先是倒序遍历,因为我们删除后面的并不影响前面的
- 2、正序遍历删除,每删一个给下标减一
- 3、使用list的removeIf()方法删除[推荐做法]
- 4、使用Iterator删除
在这里我就不展示错误的方式了。
下面都假设我们要删除ArrayList中模2等于0的数
1、首先是倒序遍历,因为我们删除后面的并不影响前面的
public class Main {public static void main(String[] args) {List<Integer> list = new ArrayList<>();list.add(2);list.add(3);list.add(1);list.add(6);list.add(5);for (int i = list.size() - 1; i >= 0; i--) {if (list.get(i) % 2 == 0) {list.remove(i);}}System.out.println(list);}
}
2、正序遍历删除,每删一个给下标减一
public class Main {public static void main(String[] args) {List<Integer> list = new ArrayList<>();list.add(2);list.add(3);list.add(1);list.add(6);list.add(5);for (int i = 0; i < list.size(); i++) {if (list.get(i) % 2 == 0) {list.remove(i);i = i - 1;}}System.out.println(list);}
}
3、使用list的removeIf()方法删除[推荐做法]
public class Main {public static void main(String[] args) {List<Integer> list = new ArrayList<>();list.add(2);list.add(3);list.add(1);list.add(6);list.add(5);list.removeIf(i -> i % 2 == 0);System.out.println(list);}
}
4、使用Iterator删除
public class HelloWorld {public static void main(String[] args) {List<Integer> list = new ArrayList<>();list.add(2);list.add(3);list.add(1);list.add(6);list.add(5);Iterator<Integer> iterator = list.iterator();while (iterator.hasNext()) {if (iterator.next() % 2 == 0) {iterator.remove();}}System.out.println(list);}
}
ArrayList一边遍历一边删除?给大家介绍几种方法相关推荐
- ArrayList删除某元素的几种方法
ArrayList删除某元素的几种方法 环境: 开发工具:IDEA jdk:1.8 一.正序遍历: List<Integer> list = new ArrayList();list.ad ...
- java list移除符合条件的元素_java List删除指定元素的三种方法
java List删除指定元素有3种方法,分别是普通for循环,增强for循环以及原生的Iterator迭代器循环来删除list中指定的某个元素,非常的简单. 1:普通for循环遍历list,并删除指 ...
- 从Dart列表中删除重复项的2种方法
本文向您展示了从 Flutter 中的列表中删除重复项的 2 种方法.第一个适用于原始数据类型列表.第二个稍微复杂一些,但适用于map****列表或对象列表. 转换为 Set 然后反转为 List 这 ...
- 批量删除HTML链接软件,3种方法教你一次性删除word文档中的所有超链接
您可能感兴趣的话题: Word 核心提示:在编辑文档时,可能会在文档以外复制一些内容进来,但是总会有一些烦人的链接很难去掉.或是WORD 从网上下了一些资料,存到 word 里面,里面很多文字和图片都 ...
- 在Linux中查找和删除重复文件的4种方法
大神教你在Linux中查找和删除重复文件的4种方法 在本教程中,您将学习如何使用rdfind和fdupes命令行工具以及称为DupeGuru和FSlint的GUI工具在Linux中查找和删除重复文件. ...
- 在word里,毕业论文和开题报告的参考文献目录如何设置成第二行空两格的格式?(介绍两种方法)
下面介绍两种方法 (1)全选中参考文献→开始→编号(如图1)→点最下面的"自定义编号"→选一个编号完之后两行头头都是平行的数字编号(如图2)→然后点右下方的"自定义&qu ...
- 声卡突然听不到监听_电脑突然听不到声音怎么办?介绍两种方法
电脑突然听不到声音怎么办?介绍两种方法 发布时间:2017-04-12 23:32 来源:互联网 当前栏目:电脑技巧 大家在使用电脑的过程中可能会遇到这样一种情况,电脑在正常使用时突然听不到声音了,这 ...
- 删除压缩包密码的三种方法
压缩包文件设置了密码,每次解压压缩包文件都需要输入密码才行.但是有些时候,我们不需要对压缩包设置加密了,不想要在每次解压文件的时候都要输入密码,那就需要我们将压缩包密码删除,今天和大家分享删除压缩包密 ...
- excel 删除空白列的三种方法,以及如何批量删除空行空列
详见:excel删除空白列的三种方法,以及如何批量删除空行空列 本人更倾向于第三种方法: excel删除空白列方法三: 按ALT+F11,打开VBE编辑器,插入--模块,复制下面代码,然后按F5键,运 ...
- 微信好友被删除怎么知道?4种方法偷偷验证!
微信好友被删除怎么知道?微信删除好友一直都是单方面删除,如果删除了对方,只是将对方从自己的列表中清除,对方的好友列表还是有自己的.由于这个设定,很多人会发现自己莫名其妙被别人删除了,有些微信用户会选择 ...
最新文章
- python面试-python简单面试题
- 回复:lerit的关于对象中字段的初始化问题
- C#枚举硬件设备(升级版)
- KDD_CUP99数据集处理和测试(已处理数据可下载)
- SAP生产订单预留相关的备忘录
- GCN、GAT、凸优化、贝叶斯、MCMC、LDA
- 形象解释 undefined 和 null 之间的区别
- 推荐Android中两个很好用的banner,可无限轮播,可使用第三方图片加载框架加载网络图...
- c#和python_C#学习笔记(与Java、C、C++和Python对比)
- python django 下载多个文件,接收多个文件
- 面试宝典之深度学习面试题(下)
- PHP使用数组整型溢出绕过赋值式“永真”判断以进入else子句
- 元气骑士android替换存档教程,元气骑士游戏怎么将存档转移到另一个手机中
- redis报错NOAUTH Authentication required.
- python中mod函数用法_python divmod函数是如何使用的?
- PDF转ePub选择人工转换的原因
- Metasploit(一) 利用 MS17-010 漏洞进行攻击
- 开个什么店赚钱?这5种实体店,妥妥的推荐!
- 利用桌面背景进行任务管理
- Mac平台直播推流搭建
热门文章
- 也说程序员的中年危机
- 简单网页设计静态成品分享
- 解决WIN10无法安装“无法验证此驱动发布者”的USB驱动的办法
- pfSense book之DNS解析
- Image Processing and Analysis_8_Edge Detection:Finding Edges and Lines in Images by Canny——1983...
- 牛顿拉夫森法 matlab,【原创】牛顿-拉夫森迭代求非线性方程组
- 假如生活欺骗了你……——网上答疑(14)
- 超级简单,一步彻底关闭360浏览器低俗广告
- LUNA崩了背后的原因
- 秀场精灵陈梓桐 受邀担任第六季完美童模全球总决赛首席体验官