集合遍历中删除行不行「建议收藏」

集合遍历中删除行不行「建议收藏」集合遍历中删除行不行

大家好,又见面了,我是你们的朋友全栈君。

package 算法;

import java.util.ArrayList;
import java.util.List;

public class 集合遍历中删除行不行 {

    /**
     * 面试中会问到list遍历能不能使用remove方法,下面就是遇到指定的数就删除
     * 
     * @param args
     */
    public static void main(String[] args) {

        // TODO Auto-generated method stub
        List<Integer> list=new ArrayList<Integer>();
        List<A> list2=new ArrayList<A>();
        list2.add(new A(“111”));
        list2.add(new A(“112”));
        list2.add(new A(“113”));
        list2.add(new A(“114”));
        list.add(1);
        list.add(3);
        list.add(5);
        list.add(9);
        for (int i = 0; i < list2.size(); i++) {

            if(i==2){

                list2.remove(i);
            }
            System.out.println(i);
        }
        for (Integer integer : list) {

            if(integer==5){

                list.remove(integer);
            }
            System.out.println(integer);
        }
        //正常
//        for(int i=0;i<list.size();i++){

//            System.out.println(“前:”+list.get(i));
//            if(list.get(i)==5){

//                list.remove(i);
//            }
//            System.out.println(“后:”+list.get(i));
//        }
//        //把i<4,虽然长度都是4但是会报下表越界
//        for(int i=0;i<4;i++){

//            System.out.println(“前:”+list.get(i));
//            if(list.get(i)==5){

//                list.remove(i);
//            }
//            System.out.println(“后:”+list.get(i));
//        }
//        
//    //——–总结上面两个可以得出,for(int i=0;i<list.size();i++)这种写法每次遍历都会重新计算list.size()的长度
//        
//        for(int i=0;i<list.size();i++){

//            System.out.println(“前:”+list.get(i));
//            if(list.get(i)==9){

//                list.remove(i);
//            }
//            System.out.println(“后:”+list.get(i));
//        }
    //——–总结当删除的是最后一个元素时,后面一个输出语句会报错,因为是先删除的,再次get(i)的i还是原先的长度,但是现在变短了。
        
    }
    
}
class A{

    public String aa;

    public A(String aa) {

        super();
        this.aa = aa;
    }
    
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106023.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用myeclipse制作doc的时候出现以下代码:

    用myeclipse制作doc的时候出现以下代码:

    2021年5月24日
    152
  • 伽马校正-「建议收藏」

    伽马校正-「建议收藏」伽马校正问题描述:读取图像,然后对图像进行伽玛校正。伽马校正这里是一篇写伽马校正比较好的文章,我觉得可以作为背景知识补充。伽马校正用来对照相机等电子设备传感器的非线性光电转换特性进行校正。如果图像原样显示在显示器等上,画面就会显得很暗。伽马校正通过预先增大RGB的值来排除显示器的影响,达到对图像修正的目的。由于下式引起非线性变换,在该式中,xxx被归一化,限定在[0,1][0,1][0,1]范围内。ccc是常数,ggg为伽马变量(通常取2.22.22.2):x′=c Iingx

    2022年9月25日
    4
  • Java判断List是否为空

    Java判断List是否为空在Java中,我们常用List来存储数据,但是我们怎么判断它是否成功带来了我们需要的数据呢,以ArrayList为例,老规矩,先说结论,建议(list!=null&&!list.isEmpty);接下来是正文:20190723,这鬼天气又闷又热.远在1.99公里外的同事问了我一个问题,,一瞬间,我留下了激动的泪水.日日划水的我终于被发现了一丝价值.真是美好的一天啊….

    2025年8月25日
    4
  • dijkstra算法详解—简单易懂[通俗易懂]

    dijkstra算法详解—简单易懂[通俗易懂]dijkstra算法详解(迪杰斯特拉算法)~~简单易懂,代码附有详细注释,含动态演示图片

    2025年8月13日
    4
  • Ajax beforeSend和complete 方法

    Ajax beforeSend和complete 方法

    2021年10月9日
    44
  • 浏览器被hao.360.cn劫持怎么办

    浏览器被hao.360.cn劫持怎么办特么的现在互联网太没节操了,一大早发现我的浏览器被hao.360.cn劫持了,弄了好久都没弄好,后来一想可能是因为qvod的原因,这可是哥当年看片的神器啊……废话不说:1,进入:C:\ProgramData\QvodPlayer\QvodWebBase2,点开1.0.0.53(或者其它)文件夹3,直接删除里面的文件是删除不了的。更改QvodWebBase64.dll后缀名为QvodWebB…

    2022年7月14日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号