Java遍历HashMap的6种常见方式
在 Java 中,有多种方式可以遍历 HashMap,下面为你详细介绍几种常见的遍历方法。
1,使用 keySet() 遍历键,再通过键获取值
- 创建一个 HashMap 对象,并向其中添加一些键值对。
- 使用 map.keySet() 方法获取 HashMap 中所有键的集合。
- 通过 for-each 循环遍历这个键的集合。
- 在循环体中,使用 map.get(key) 方法根据当前键获取对应的值,并将键和值打印输出。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
packagecom.maoge;
importjava.util.HashMap;
importjava.util.Map;
publicclassTest03 {
publicstaticvoidmain(String[] args) {
// 创建一个 HashMap 并添加元素
Map<String, String> map =newHashMap<>();
map.put("张飞","男");
map.put("孙尚香","女");
map.put("关羽","男");
map.put("貂蝉","女");
// 遍历键集合
for(String key : map.keySet()) {
// 根据键获取值
String value = map.get(key);
System.out.println("Key: "+ key +", Value: "+ value);
}
}
}
|
2,使用 entrySet() 遍历键值对
- 先创建一个 HashMap 对象并添加键值对。
- 使用 map.entrySet() 方法获取包含所有键值对的集合。
- 通过 for-each 循环遍历这个集合,每次循环得到一个 Map.Entry 对象。
- 在循环体中,使用 entry.getKey() 方法获取键,使用 entry.getValue() 方法获取值,并将它们打印输出。
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
|
packagecom.maoge;
importjava.util.HashMap;
importjava.util.Map;
publicclassTest03 {
publicstaticvoidmain(String[] args) {
// 创建一个 HashMap 并添加元素
Map<String, String> map =newHashMap<>();
map.put("张飞","男");
map.put("孙尚香","女");
map.put("关羽","男");
map.put("貂蝉","女");
// 遍历键值对集合
for(Map.Entry<String, String> entry : map.entrySet()) {
// 获取键
String key = entry.getKey();
// 获取值
String value = entry.getValue();
System.out.println("Key: "+ key +", Value: "+ value);
}
}
}
|
3,使用 forEach() 方法(Java 8 及以上)
- 创建 HashMap 并添加元素。
-
调用 map.forEach() 方法,传入一个 Lambda 表达式。Lambda 表达式的参数 key 和 value
分别代表当前遍历到的键和值。 - 在 Lambda 表达式的方法体中,将键和值打印输出。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
packagecom.maoge;
importjava.util.HashMap;
importjava.util.Map;
publicclassTest03 {
publicstaticvoidmain(String[] args) {
// 创建一个 HashMap 并添加元素
Map<String, String> map =newHashMap<>();
map.put("张飞","男");
map.put("孙尚香","女");
map.put("关羽","男");
map.put("貂蝉","女");
// 使用 forEach 方法遍历
map.forEach((key, value) -> {
System.out.println("Key: "+ key +", Value: "+ value);
});
}
}
|
4,使用迭代器(Iterator)遍历
- 创建 HashMap 并添加元素。
- 使用 map.entrySet().iterator() 方法获取键值对集合的迭代器。
- 使用 while 循环结合 iterator.hasNext() 方法判断是否还有下一个元素。
- 在循环体中,使用 iterator.next() 方法获取下一个 Map.Entry 对象,然后获取键和值并打印输出。
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
|
packagecom.maoge;
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.Map;
publicclassTest03 {
publicstaticvoidmain(String[] args) {
// 创建一个 HashMap 并添加元素
Map<String, String> map =newHashMap<>();
map.put("张飞","男");
map.put("孙尚香","女");
map.put("关羽","男");
map.put("貂蝉","女");
// 获取键值对集合的迭代器
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
// 使用迭代器遍历
while(iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println("Key: "+ key +", Value: "+ value);
}
}
}
|
5,遍历所有键
注意只是遍历键值,即key值,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
packagecom.maoge;
importjava.util.HashMap;
importjava.util.Map;
publicclassTest03 {
publicstaticvoidmain(String[] args) {
// 创建一个 HashMap 并添加元素
Map<String, String> map =newHashMap<>();
map.put("张飞","男");
map.put("孙尚香","女");
map.put("关羽","男");
map.put("貂蝉","女");
// 遍历所有键
for(String key : map.keySet()) {
System.out.println("key : "+ key);
}
}
}
|
6,遍历所有值
注意只是遍历键值对的值,即value,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
packagecom.maoge;
importjava.util.HashMap;
importjava.util.Map;
publicclassTest03 {
publicstaticvoidmain(String[] args) {
// 创建一个 HashMap 并添加元素
Map<String, String> map =newHashMap<>();
map.put("张飞","男");
map.put("孙尚香","女");
map.put("关羽","男");
map.put("貂蝉","女");
// 遍历所有键
for(String key : map.values()) {
System.out.println("value: "+ key);
}
}
}
|
来源:https://www.jb51.net/program/341085758.htm
本站大部分文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了您的权益请来信告知我们删除。邮箱:1451803763@qq.com