博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用List的remove方法需要的注意的问题
阅读量:6432 次
发布时间:2019-06-23

本文共 521 字,大约阅读时间需要 1 分钟。

hot3.png

Listz在执行remove元素的时候,remove一个元素之后,后面的元素系会向前移。

List<String> list = new ArrayList<String>();

        list.add("11");
        list.add("22");
        list.add("31");
        list.add("81");
        list.add("91");
        list.add("61");

当我们执行

for(int i =0; i<list.size();i++){

            if(list.get(i).contains("1")){
                list.remove(i);
            }

 }

的时候。

 List每remove掉一个元素以后,后面的元素都会向前移动 ,此时如果执行i++,则刚刚移过来的元素没有被读取。

 

解决方法:

for(int i =0; i<list.size();i++){

            if(list.get(i).contains("1")){
                list.remove(i);
                i--;
            }
        }

 

参考:http://uule.iteye.com/blog/984259

转载于:https://my.oschina.net/u/2870118/blog/786063

你可能感兴趣的文章
超8千Star,火遍Github的Python反直觉案例集!
查看>>
【msdn wpf forum翻译】如何在wpf程序(程序激活时)中捕获所有的键盘输入,而不管哪个元素获得焦点?...
查看>>
全球首家!阿里云获GNTC2018 网络创新大奖 成唯一获奖云服务商
查看>>
Python简单HttpServer
查看>>
Java LinkedList工作原理及实现
查看>>
负载均衡SLB的基本使用
查看>>
Centos 7 x86 安装JDK
查看>>
微信小程序的组件用法与传统HTML5标签的区别
查看>>
Hangfire 使用笔记
查看>>
(C#)Windows Shell 外壳编程系列8 - 同后缀名不同图标?
查看>>
【实操】配置负载均衡
查看>>
教你彻底学会c语言基础——文件操作
查看>>
对Java基本数据类型的再思考
查看>>
滑动返回-方式1
查看>>
如何使用免费控件将Word表格中的数据导入到Excel中
查看>>
seafile服务器配置
查看>>
印度OTA产业获资本青睐,HappyEasyGo完成数千万美金A+轮融资
查看>>
HyperLedger Fabric 1.2 区块链应用场景(3.1)
查看>>
【Java入门提高篇】Day13 Java中的反射机制
查看>>
也谈谈初创公司的技术团队建设
查看>>