Java ArrayList删除元素时失败
来源:互联网 发布:gta5ol小萝莉捏脸数据 编辑:程序博客网 时间:2024/04/28 11:48
今天想要通过遍历ArrayList,删除指定值的元素的时候遇到了个问题。
示例如下:
package cn.sehzh;import java.util.ArrayList;import java.util.List;class Main{public static void main(String[] args) {List<String> list;list = new ArrayList<String>();list.add("asd");list.add("asd");list.add("qwe");System.out.println("before delete......");for (String string : list) {System.out.println(string);}for (int i = 0; i < list.size(); i++) {if("asd".equals(list.get(i))){list.remove(i);}}System.out.println("after delete......");for (String string : list) {System.out.println(string);}}}想要的效果为:
before delete......
asd
asd
qwe
after delete......
qwe
实际结果为:
before delete......
asd
asd
qwe
after delete......
asd
qwe
原因:在遇到匹配的元素后,list.remove(i),list的size就会减1,这样就会跳过下一个元素。
解决办法:倒序遍历
package cn.sehzh;import java.util.ArrayList;import java.util.List;class Main {public static void main(String[] args) {List<String> list;list = new ArrayList<String>();list.add("asd");list.add("asd");list.add("qwe");System.out.println("before delete......");for (String string : list) {System.out.println(string);}for (int i = list.size() - 1; i >= 0; i--) {if ("asd".equals(list.get(i))) {list.remove(i);}}System.out.println("after delete......");for (String string : list) {System.out.println(string);}}}输出结果:
before delete......
asd
asd
qwe
after delete......
qwe
0 0
- Java ArrayList删除元素时失败
- java 中列表元素删除,如ArrayList
- Java集合类ArrayList删除特定元素
- Java集合类ArrayList删除特定元素
- Java集合类ArrayList删除特定元素
- Java ArrayList遍历时删除一个元素
- Java 删除ArrayList中指定元素
- Java ArrayList删除特定元素的方法
- Java ArrayList遍历时删除元素
- Java List(ArrayList初始化)删除元素
- java ArrayList遍历时删除元素
- Java ArrayList遍历时删除一个元素
- Java中遍历删除ArrayList中多个元素
- ArrayList删除元素问题
- ArrayList删除指定元素
- HashMap、ArrayList删除元素
- arrayList重复元素删除
- ArrayList集合删除元素
- C语言数组和指针
- iOS开发经验--ios右滑返回时候与scrollview滑动冲突的问题
- python模拟开发WebQQ(三)处理CSRF
- PHP三维数组的定义与遍历
- 使用seafile创建个人云(类似百度云)
- Java ArrayList删除元素时失败
- git列出两个版本的差异
- 客户端开发知识体系
- 利用nginx+tomcat+memcached组建web服务器负载均衡
- Mybatis中的sql带分号
- 1. 设备号的申请
- Android Studio你必须学会的快捷键(Eclipse转AS必看)
- PHP输出乘法口诀表
- iOS每日一记————————UIApplication的一些见解