当ArrayList中装的是Integer类型的数据时remove方法不能根据数据值来移除数据了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import java.util.ArrayList; import java.util.List; public class MyList { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); list.add( 1 ); list.add( 2 ); list.add( 5 ); System.out.println( "删除前=============" ); System.out.println(list); list.remove( 5 ); System.out.println( "删除后==============" ); System.out.println(list); } } |
我想删除数值为5的数据,代码运行报错?
6
收起
正在回答
1回答
同学你好,
1.remove方法是删除位于集合中指定位置的数据,调用remove方法时,传递的参数是list集合的下标,在同学代码中remove方法传递的参数是5,而在list集合中没有下标为5的数据,所以代码会报数组越界异常,并且程序运行会终止;
2.如果同学想删除“5”,同学可以将第14行代码更改为:list.remove(2);
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧