在 java 中,有多种方式可以遍历 hashmap,下面为你详细介绍几种常见的遍历方法。
1,使用 keyset() 遍历键,再通过键获取值
- 创建一个 hashmap 对象,并向其中添加一些键值对。
- 使用 map.keyset() 方法获取 hashmap 中所有键的集合。
- 通过 for-each 循环遍历这个键的集合。
- 在循环体中,使用 map.get(key) 方法根据当前键获取对应的值,并将键和值打印输出。
package com.maoge;
import java.util.hashmap;
import java.util.map;
public class test03 {
public static void main(string[] args) {
// 创建一个 hashmap 并添加元素
map<string, string> map = new hashmap<>();
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() 方法获取值,并将它们打印输出。
package com.maoge;
import java.util.hashmap;
import java.util.map;
public class test03 {
public static void main(string[] args) {
// 创建一个 hashmap 并添加元素
map<string, string> map = new hashmap<>();
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 表达式的方法体中,将键和值打印输出。
package com.maoge;
import java.util.hashmap;
import java.util.map;
public class test03 {
public static void main(string[] args) {
// 创建一个 hashmap 并添加元素
map<string, string> map = new hashmap<>();
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 对象,然后获取键和值并打印输出。
package com.maoge;
import java.util.hashmap;
import java.util.iterator;
import java.util.map;
public class test03 {
public static void main(string[] args) {
// 创建一个 hashmap 并添加元素
map<string, string> map = new hashmap<>();
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值,代码如下:
package com.maoge;
import java.util.hashmap;
import java.util.map;
public class test03 {
public static void main(string[] args) {
// 创建一个 hashmap 并添加元素
map<string, string> map = new hashmap<>();
map.put("张飞", "男");
map.put("孙尚香", "女");
map.put("关羽", "男");
map.put("貂蝉", "女");
// 遍历所有键
for (string key : map.keyset()) {
system.out.println("key : " + key);
}
}
}
6,遍历所有值
注意只是遍历键值对的值,即value,代码如下:
package com.maoge;
import java.util.hashmap;
import java.util.map;
public class test03 {
public static void main(string[] args) {
// 创建一个 hashmap 并添加元素
map<string, string> map = new hashmap<>();
map.put("张飞", "男");
map.put("孙尚香", "女");
map.put("关羽", "男");
map.put("貂蝉", "女");
// 遍历所有键
for (string key : map.values()) {
system.out.println("value: " + key);
}
}
}总结
到此这篇关于java遍历hashmap的6种常见方式的文章就介绍到这了,更多相关java遍历hashmap内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论