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 List<String> l = 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<String> 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<String> 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<String> 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 }