1 public class Demo1_Foreach { 2 3 /* 4 * 增强for循环格式: 5 * for(元素数据类型 变量 : 数组或者Collection集合){ 6 * 使用变量即可,该变量就是元素 7 * } 8 * 实质:底层依赖的是迭代器 9 */10 public static void main(String[] args) {11 12 //demo1();13 Listl = new ArrayList<>();14 l.add("a");15 l.add("b");16 l.add("b");17 l.add("c");18 19 /*20 * 1. 普通for循环删除元素21 * 注意:索引要减减 ( -- )22 23 for(int i=0; i < l.size(); i++) {24 if ("b".equals(l.get(i))) {25 //l.remove(i); //[a, b, c]26 l.remove(i--); //[a, c]27 }28 }29 */30 31 /*2.迭代器删除元素32 * Iterator it = l.iterator();33 while (it.hasNext()) {34 if ("b".equals(it.next())) {35 //l.remove("b"); //不能用集合的删除方法,在遍历的同时删除元素,否则会报并发修改异常36 it.remove();37 }38 }*/39 40 /*for(Iterator it2 = l.iterator();it2.hasNext();) {41 if ("b".equals(it2.next())) {42 //l.remove("b"); //不能用集合的删除方法,在遍历的同时删除元素,否则会报并发修改异常43 it2.remove();44 }45 }*/46 47 /*3.增强for循环方式删除,此方式无法删除,因为增强for循环底层依赖的是迭代器,利用集合的删除方法删除会报并发修改异常48 * for (String string : l) {49 if ("b".equals(string)) {50 l.remove("b");51 }52 }*/53 System.out.println(l);54 }55 56 public static void demo1() {57 int[] arr = {11, 22, 33};58 for (int i : arr) {59 System.out.println(i);60 }61 62 ArrayList list = new ArrayList<>();63 list.add("a");64 list.add("b");65 list.add("c");66 67 for (String string : list) {68 System.out.println(string);69 }70 }71 72 73 }74 75 ///76 77 /*78 * 1. 概述:定义方法时,不知道该定义几个参数时可以使用可变参数79 * 2.格式:80 * 修饰符 返回值类型 方法名(数据类型 ... 变量名)81 * 82 * 3.注意事项:83 * 这个可变参数实质就是一个数组84 * 如果有多个参数,则可变参数必须放到最后一个85 */86 public static void main(String[] args) {87 88 int[] arr = {11, 22, 33, 44};89 //print(arr);90 print(11,33,44);91 }92 93 /*public static void print(int[] arr) {94 System.out.println(arr[0]);95 }*/96 97 public static void print(int... arr) {98 System.out.println(arr[0]);99 }