ArrayList 删除所有存在的一个对象 代码
时间: 2024-10-13 13:11:50 浏览: 12
在Java中,如果你想要从ArrayList中删除所有存在的一种特定对象,你可以遍历列表并使用ArrayList的`remove(Object o)`方法来移除匹配的对象。下面是一个示例代码:
```java
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// 创建一个ArrayList,包含一些相同的对象
ArrayList<MyObject> list = new ArrayList<>();
list.add(new MyObject("value1"));
list.add(new MyObject("value2"));
list.add(new MyObject("value1")); // 添加两个相同的对象
// 遍历列表,删除所有的"value1"对象
Class<MyObject> clazz = MyObject.class; // 获取MyObject类
for (int i = 0; i < list.size(); ) {
if (list.get(i).getClass() == clazz && list.get(i).getValue().equals("value1")) {
list.remove(i);
} else {
i++;
}
}
// 打印处理后的列表
for (MyObject obj : list) {
System.out.println(obj.getValue());
}
}
}
class MyObject {
private String value;
public MyObject(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
```
在这个例子中,`MyObject` 类代表你要查找并移除的对象,`"value1"` 是你要查找的具体对象。注意,这里使用了 `get(i).getClass()` 来比较对象的实际类型,因为虽然两个实例看起来一样,但如果它们来自不同的类,`equals()` 方法可能会返回 false。
阅读全文