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