当ArrayList中装的是Integer类型的数据时remove方法不能根据数据值来移除数据了
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积分~
来为老师/同学的回答评分吧
0 星