java - 澄清 Arraylist 的删除
问题描述
所以 JAVA 中的 ArrayList 有 2 个删除函数 1 返回旧值,另一个返回布尔值。
remove(Object) return boolean
remove(index) return oldvalue
现在如果两个对象也是整数那么JAVA如何区分
例如:- 在代码中 arr.remove(j);
代码
ArrayList<Integer> arr = new ArrayList<Integer>();
for (int i = 2; i < 239697453; i++) {
arr.add(i);
}
int a = arr.size();
for (int i = 2; i < a; i++) {
for (int j = 0 j < a; j++) {
if (arr.get(j) % i == 0) {
arr.remove(j);
}
}
}
解决方案
Java首先会选择最合适的方法版本——因为
remove(int i)
比
remove(Integer i) // autoboxing necessary
它将调用方法的索引版本remove
要强制 Java 使用项目版本,您可以Integer
使用创建对象Integer.valueOf()
并将其传递给remove
方法
list.remove(Integer.valueOf(myInt))
请参阅相关页面,Java 中的 Integer 和 int 有什么区别?
推荐阅读
- elasticsearch - Fluentd 转发器 DaemonSet 的日志格式错误
- javascript - 如何在 Angular 中访问从 ngFor 指令生成的多个元素?
- flutter - 使用 moor / moor_flutter 查找与子字符串匹配的所有行
- javascript - MongoDB findAndModify SyntaxError: missing ) 在参数列表之后
- python - Python Game Planner - 延迟函数执行的意外行为 - 范围/绑定/关闭问题?
- sql-server - 检查链接服务器是否正在使用只读节点
- android - 如何使用“排除”字段进行发布请求
- python - Kivy / MySQL,检查数据库中是否存在用户名和密码即使存在也不起作用
- c++ - 嵌入原子操作,std::atomic 理解
- javascript - Todoist api 获取所有已完成的任务?