普通for循环,可以删除,但是索引要--
迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
增强for循环不能删除
import java.util.ArrayList; import java.util.Iterator; import com.heima.bean.Person; public class demon_bigFor { /* * 增强for循环 * 底层用迭代器实现 * * 格式: * for(元素数据类型 变量 : 数组或collection集合){ * 使用变量即可,该变量就是元素 * } */ public static void main(String[] args) { //demo1(); //demo2(); ArrayList<String> l3 = new ArrayList<>(); l3.add("a"); l3.add("b"); l3.add("c"); l3.add("d"); // 1,普通for循环 /*for (int i = 0; i < l3.size(); i++) { if ("b".equals(l3.get(i))) { l3.remove(i); } } System.out.println(l3);*/ // 2,迭代循环 Iterator<String> iterator = l3.iterator(); while (iterator.hasNext()) { String string = iterator.next(); if ("b".equals(string)) { iterator.remove(); } } } public static void demo2() { ArrayList<Person> l2 = new ArrayList<>(); l2.add(new Person("张三",23)); l2.add(new Person("李四",24)); l2.add(new Person("王五",25)); l2.add(new Person("赵柳",26)); l2.add(new Person("周七",27)); for (Person person : l2) { System.out.println(person); } } public static void demo1() { int[] arr = {11,22,33,44,55}; /*for (int i : arr) { System.out.println(i); }*/ ArrayList<String> l1 = new ArrayList<>(); l1.add("a"); l1.add("b"); l1.add("c"); l1.add("d"); for (String string : l1) { System.out.println(string); } } }