要解决ArrayList.remove()方法未能移除对象的问题,可以尝试使用以下方法:
ArrayList list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (item.equals("B")) {
iterator.remove();
}
}
ArrayList list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
int index = list.indexOf("B");
if (index >= 0) {
list.remove(index);
}
ArrayList list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list = list.stream()
.filter(item -> !item.equals("B"))
.collect(Collectors.toCollection(ArrayList::new));
这些方法都可以确保正确地从ArrayList中移除指定的对象。