概述
一.代码
import java.util.ArrayList;
public class ArrayListTest3 {
public static void main(String[] args) {
// 目标:学习遍历并删除元素的正确方法
// 1. 定义一个ArrayList 集合存储一个班学生成绩。 98 77 66 89 79 50 100
ArrayList<Integer> scores = new ArrayList<>();
scores.add(98);
scores.add(77);
scores.add(66);
scores.add(89);
scores.add(79);
scores.add(50);
scores.add(100);
System.out.println(scores);
//[98, 77, 66, 89, 79, 50, 100]
//[98, 66, 89, 50, 100]
// 错误删除 会漏掉元素
for (int i = 0; i < scores.size(); i++) {
if (scores.get(i) < 80) {
scores.remove(i);
}
}
System.out.println(scores);
// 方案一:
for (int i = 0; i < scores.size(); i++) {
if (scores.get(i) < 80) {
scores.remove(i);
i--; //删除之后退一步 保证下次回到这个位置 不会漏掉数据
}
}
System.out.println(scores);
// 方案二:从后倒着遍历
for (int i = scores.size()-1; i >= 0; i--) {
if (scores.get(i) < 80) {
scores.remove(i);
}
}
System.out.println(scores);
}
}
二.运行结果
三.注意
错误删除 中 : 如果出现连着两个低于80分的 删掉一个 是后面的元素往前走 但i往后加1 就会有第二个被漏掉
方案一 在其中加一个 i--就会避免这种情况
方案二 倒着遍历 如果出现连着两个低于80分的 删掉以后 是后面已经遍历过的往前走 i往前减1 不会漏掉
最后
以上就是可耐红牛为你收集整理的ArrayList 集合元素的正确删除的全部内容,希望文章能够帮你解决ArrayList 集合元素的正确删除所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复