遍历ArrayList时如何正确移除一个元素「建议收藏」
遍历 如何 一个 建议 收藏 正确 元素 移除
2023-06-13 09:12:43 时间
大家好,又见面了,我是你们的朋友全栈君。
一个ArrayList对象aList中存有若干个字符串元素,现欲遍历该ArrayList对象,删除其中所有值为”abc”的字符串元素,请用代码实现。
方法一、for循环遍历
很简单,直接上代码:
import java.util.*;
public class Test1{
public static void main(String args[]) {
List<String> aList = new ArrayList();
aList.add("a");
aList.add("ab");
aList.add("abc");
aList.add("abc");
aList.add("abcr");
aList.add("abc");
aList.add("abcf");
aList.add("abc");
aList.add("abdc");
// 删除过程
// aList.add("a");
// aList.add("ab");
//
// aList.add("abc");
// aList.add("abcr");
//
// aList.add("abcf");
//
// aList.add("abdc");
for(int i=0;i<aList.size();i++) {
if(aList.get(i).equals("abc")) {
System.out.println(i+":"+aList.get(i));
aList.remove(i); // 删除后 下标调整 导致漏删
}
}
System.out.println(aList);
}
}
结果:
2:abc
4:abc
5:abc
[a, ab, abc, abcr, abcf, abdc]
方法二、迭代遍历
import java.util.*;
public class Test1{
public static void main(String args[]) {
List<String> aList = new ArrayList();
aList.add("a");
aList.add("ab");
aList.add("abc");
aList.add("abc");
aList.add("abcr");
aList.add("abc");
aList.add("abcf");
aList.add("abc");
aList.add("abdc");
Iterator<String> iter = aList.iterator();
while(iter.hasNext()) {
if(iter.next().equals("abc")) {
iter.remove();
}
}
System.out.println(aList);
}
}
结果:
[a, ab, abcr, abcf, abdc]
为了避免漏删的情况,最好使用迭代器的方式遍历删除元素,因为迭代器是根据后一个索引来删除元素的,而不是下标。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163119.html原文链接:https://javaforall.cn
相关文章
- 数据透视表上线!如何在纯前端实现这个强大的数据分析功能?
- 如何优雅的传递 stl 容器作为函数参数来实现元素插入和遍历?
- Java链表——遍历、查找、求链表长度
- 排序二叉树的建立与中序遍历
- 图的遍历(Java语言)
- 【说站】python for循环遍历位置的查找
- 你还在遍历搜索集合?别逗了!Java 8 一行代码搞定,是真的优雅
- 基于Appium实现UI遍历工具(五)代码实现篇(中)
- Java遍历JsonObject对象「建议收藏」
- 深度优先遍历和广度优先遍历如何实现
- vue遍历数组中的数组_vue数组转json
- 数组方法底层实现:push pop map遍历 个人理解实现方法
- 【Groovy】集合遍历 ( 操作符重载 | 集合中的 “ + “ 操作符重载 | 集合中的 “ - “ 操作符重载 | 代码示例 )
- 【数据结构与算法】图遍历算法 ( 深度优先搜索 DFS | 深度优先搜索和广度优先搜索 | 深度优先搜索基本思想 | 深度优先搜索算法步骤 | 深度优先搜索理论示例 )
- [javaSE] 数据结构(二叉树-遍历与查找)详解编程语言
- 探索Linux内部:遍历进程(linux遍历进程)
- Java解压上传zip或rar文件,并解压遍历文件中的html的路径详解编程语言
- 使用Oracle遍历树结构技术(oracle遍历树)
- MSSQL中妙用遍历记录技巧助攻数据管理(mssql 遍历记录)
- 利用Oracle临时表搞定遍历难题(oracle临时表遍历)
- php遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
- php遍历所有文件及文件夹的方法深入解析
- 使用PHP遍历文件目录与清除目录中文件的实现详解