删除第一个“ Meg”时,即为索引
i=2。然后增加,但是由于“ Meg”之一已被删除,因此现在
name.get(3)是“
Brain”。因此,您实际上没有检查第二个“ Meg”。
解决问题。您可以在删除元素时减少索引:
public class ArrayListExp{ public static void main (String[] args){ ArrayList<String> name = new ArrayList<String>(); name.add("Chris"); name.add("Lois"); name.add("Meg"); name.add("Meg"); name.add("Brain"); name.add("Peter"); name.add("Stewie"); System.out.println(name); for ( int i = 0; i < name.size(); i++){ String oldName = name.get(i); if(oldName.equals("Meg")) { name.remove(i); i--; } } System.out.println(name); }}


