在遍历 ArrayList 集合时将特定元素删除
在遍历 ArrayList 集合时将特定元素删除
举例:
在ArrayList
集合中有"我是好人","假的","真的" 几个元素
在遍历时将"假的"这个元素删除
代码1
package com.atguigu;
import java.util.ArrayList;
/**
* @author 玉**
* @Date: 2022/3/24 16:06 星期四
* @Description: 练习:将ArrayList集合中某元素在遍历中删除
*/
public class Demo7 {
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<>();
strings.add("我是好男人");
strings.add("假的");
strings.add("假的");
strings.add("假的");
strings.add("假的");
strings.add("假的");
strings.add("假的");
strings.add("真的");
for (int i = 0; i < strings.size(); i++) {
if (strings.get(i).equals("假的")) {
strings.remove(i);
i--;
}
}
System.out.println(strings);
}
}
代码2
package com.atguigu;
import java.util.ArrayList;
/**
* @author 玉**
* @Date: 2022/3/24 16:06 星期四
* @Description: 练习:将ArrayList集合中某元素在遍历中删除
*/
public class Demo7 {
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<>();
strings.add("我是好男人");
strings.add("假的");
strings.add("假的");
strings.add("假的");
strings.add("假的");
strings.add("假的");
strings.add("假的");
strings.add("真的");
for (int i = 0; i < strings.size(); i++) {
if (strings.get(i) == ("假的")) {
strings.remove(i);
i--;
}
}
System.out.println(strings);
}
}
运行结果
思路
- 首先创建一个集合,添加元素
- 利用
for
循环遍历 - 遍历过程中用
equals
方法或者 == 找出这个特定的元素(没有重写过的equals
方法效果和 == 作用一样) - 有同就用
remove
方法删除 -> 在api中ArrayList
类的remove(int index)
作用是移除此列表中指定位置上的元素。 - 因为就只是学习过程中碰到的一题简单练习题 所以没有深究 没有去找其他方法实现( 主要是懒!!! )
- 删除元素之后 需要把下标减1 这是因为在每次删除元素后,
ArrayList
会将后面部分的元素依次往上挪一个位置,因此下一个访问的坐标还是当前坐标,必须坐标减1才能把所有元素遍历完
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!