在遍历 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才能把所有元素遍历完

浙公网安备 33010602011771号