复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109package com.collection.jdk15; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.junit.Test; /* JDK1.5新特性 ---> 增强for循环 增强for循环的作用:简化迭代器的书写格式; 增强for循环的适应范围:如果是实现了Iterable接口的对象或者是数组对象都可以使用增强for循环; 增强for循环的格式: for (变量类型 变量名 : 遍历的目标){ } 增强for循环的注意事项: 1、增强for循环底层也是使用了迭代器来实现的,只不过获取迭代器有jvm完成;所以在增强for循环遍历元素的过程中, 不能使用集合对象的方法对元素的个数进行修改; 2、迭代器与增强for循环的区别:使用迭代器遍历集合的元素时,可以删除集合的元素;而增强for循环遍历集合的时候, 不能调用集合的remove()方法删除元素; 3、普通for循环和增强for循环的区别:普通for循环可以没有遍历的目标,而增强for循环必须要有遍历的目标; */ public class Demo2 { private static Set<String> set = new HashSet<String>(); static{ set.add("张三"); set.add("李四"); set.add("王五"); } // 使用迭代器迭代所有元素 @Test public void test1(){ // 遍历集合元素 Iterator<String> it = set.iterator(); while (it.hasNext()){ System.out.println(it.next()); } } // 使用增强for循环遍历所有元素 @Test public void test2(){ for (String str : set){ System.out.println(str); } for (String str : set){ System.out.println(str); set.remove("张三"); // 错误 } } // 遍历数组 @Test public void test3(){ int[] arr = {2, 4, 8, 5}; // 普通for循环遍历 for (int i = 0; i < arr.length; i++){ System.out.println("普通for循环:" + arr[i]); } // 增强for循环遍历 for (int i : arr){ System.out.println("增强for循环:" + i); } } // 普通for循环与增强for循环的区别 @Test public void test4(){ // 需求:输出5句Hello World for (int i = 0; i < 5; i++){ System.out.println("Hello World"); } // 增强for循环就比较麻烦 // for (String str : 遍历目标){ // // } } // 使用增强for循环遍历Map集合 @Test public void test5(){ Map<String, String> map = new HashMap<String, String>(); map.put("001", "张三"); map.put("002", "李四"); map.put("003", "王五"); // 注意:Map集合没有实现 Iterable 接口,所以Map集合不能直接使用增强for循环; // 需要将Map集合转换成Set集合; Set<Entry<String, String>> entrySets = map.entrySet(); for (Entry<String, String> entry : entrySets){ String key = entry.getKey(); String value = entry.getValue(); System.out.println(key + " --- " + value); } } }
最后
以上就是无限小蚂蚁最近收集整理的关于Java学习笔记之JDK1.5新特性(二):增强for循环的全部内容,更多相关Java学习笔记之JDK1内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复