@org.junit.Test public void list(){ List<Person> list = new ArrayList<>(); list.add(new Person("张杰",15,"土桥")); list.add(new Person("林俊杰",16,"又新")); for (int i = 0; i < list.size(); i++) { if (list.get(i).getAge() == 15){ list.get(i).setAdd("成都"); } list.add(new Person("张杰",15,"土桥")); list.add(new Person("林俊杰",16,"又新")); list.add(new Person("张杰",15,"土桥")); list.add(new Person("林俊杰",16,"又新")); System.out.println("执行了第" + "i" + "次"); } }
普通for循环,如果循环的次数不是一个定值,如图所示,因为每次循环都在往里面加元素,所以会造成死循环
解决办法:把循环次数写死
在普通for循环中,把元素取出来get或者set,会改变集合中的元素