我是靠谱客的博主 可耐红牛,最近开发中收集的这篇文章主要介绍ArrayList 集合元素的正确删除,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一.代码

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);
    }
}

二.运行结果

565b0b0adbda4ad4917606b91d0a51b9.png

三.注意

错误删除 中 :  如果出现连着两个低于80分的  删掉一个 是后面的元素往前走 但i往后加1  就会有第二个被漏掉 

方案一 在其中加一个 i--就会避免这种情况

方案二 倒着遍历  如果出现连着两个低于80分的 删掉以后 是后面已经遍历过的往前走  i往前减1 不会漏掉

 

 

 

最后

以上就是可耐红牛为你收集整理的ArrayList 集合元素的正确删除的全部内容,希望文章能够帮你解决ArrayList 集合元素的正确删除所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部