在遍历 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才能把所有元素遍历完
posted @   乱起的名字  阅读(239)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示