当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);
祝学习愉快!
2023版Java工程师
- 参与学习 人
- 提交作业 8788 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星