可能是因为您的ArrayList中包含重复的对象,而ArrayList.remove(i)只会删除第一个匹配的对象。如果您想删除所有匹配的对象,可以使用一个循环来遍历整个ArrayList并删除所有匹配的对象,例如: ``` for (int i = 0; i < list.size(); i++) { if (list.get(i).equals(obj)) { list.remove(i); i--; // 因为删除了一个元素,所以需要将i减1 } } ``` 其中,obj是您想要删除的对象。这个循环会遍历整个ArrayList,如果找到了一个匹配的对象,就删除它并将i减1,以便下一次循环可以检查同一个位置。这样就可以删除所有匹配的对象了。