如何遍历HashMap集合?

在Java中,HashMap是一种常用的数据结构,它提供了快速的查找、插入和删除操作。当我们需要遍历HashMap中的所有元素时,可以利用三种不同的方法实现。

方法一:使用键值对遍历

HashMap中存储的是键值对的形式,因此最简单的方法就是直接遍历键值对。我们可以通过以下代码实现:

复制代码
// 创建一个HashMap对象
Map<Integer, String> hashMap = new HashMap<Integer, String>();
// 将元素添加到HashMap中
hashMap.put(1, "One");
hashMap.put(2, "Two");
hashMap.put(3, "Three");

// 遍历HashMap中的键值对
for (Map.Entry<Integer, String> entry : hashMap.entrySet()) {
    Integer key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key + ": " + value);
}

上述代码中,我们首先创建了一个HashMap对象,并将三个元素添加到其中。然后我们使用entrySet()方法获取键值对的集合,使用for循环遍历该集合,并通过getKey()和getValue()方法分别获取键和值。

方法二:使用键集合遍历

除了遍历键值对外,还可以直接遍历键的集合,通过键获取值即可。我们可以通过以下代码实现:

复制代码
// 创建一个HashMap对象
Map<Integer, String> hashMap = new HashMap<Integer, String>();
// 将元素添加到HashMap中
hashMap.put(1, "One");
hashMap.put(2, "Two");
hashMap.put(3, "Three");

// 遍历HashMap中的键
for (Integer key : hashMap.keySet()) {
    String value = hashMap.get(key);
    System.out.println(key + ": " + value);
}

在上述代码中,我们首先创建了一个HashMap对象,并将三个元素添加到其中。然后我们使用keySet()方法获取键的集合,使用for循环遍历该集合,并通过get()方法获取对应的值。

方法三:使用值集合遍历

除了遍历键和键值对外,还可以直接遍历值的集合。我们可以通过以下代码实现:

复制代码
// 创建一个HashMap对象
Map<Integer, String> hashMap = new HashMap<Integer, String>();
// 将元素添加到HashMap中
hashMap.put(1, "One");
hashMap.put(2, "Two");
hashMap.put(3, "Three");

// 遍历HashMap中的值
for (String value : hashMap.values()) {
    System.out.println(value);
}

在上述代码中,我们首先创建了一个HashMap对象,并将三个元素添加到其中。然后我们使用values()方法获取值的集合,使用for循环遍历该集合即可。

源码

以下是完整的源码:

复制代码
import java.util.HashMap;
import java.util.Map;

public class HashMapTraversal {
    public static void main(String[] args) {
        // 创建一个HashMap对象
        Map<Integer, String> hashMap = new HashMap<Integer, String>();
        // 将元素添加到HashMap中
        hashMap.put(1, "One");
        hashMap.put(2, "Two");
        hashMap.put(3, "Three");

        // 遍历HashMap中的键值对
        for (Map.Entry<Integer, String> entry : hashMap.entrySet()) {
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + ": " + value);
        }

        // 遍历HashMap中的键
        for (Integer key : hashMap.keySet()) {
            String value = hashMap.get(key);
            System.out.println(key + ": " + value);
        }

        // 遍历HashMap中的值
        for (String value : hashMap.values()) {
            System.out.println(value);
        }
    }
}

可以根据上述三种遍历方法的需求,选择相应的方式进行遍历。

相关推荐
比高创意品牌策划设计29 分钟前
零售卖场设计软件用CAD还是SketchUp还是酷家乐
python
迷途之人不知返44 分钟前
算法系列2:滑动窗口
算法
IT爱学堂44 分钟前
尚硅谷 - 2025年3月Java+AI大模型应用开发
java·开发语言·人工智能
Herbert_hwt1 小时前
C语言零基础入门:循环控制与数据类型详解
c语言·数据结构·算法
小贤plus2 小时前
SpringBoot 三大核心注解精讲:@ControllerAdvice、@RestControllerAdvice、@Validated 分组校验(实战)
java
迷迭香yy2 小时前
行业板块轮动因子实战从板块资金到因子建模的本地化Python全流程
数据库·人工智能·python
吠品2 小时前
Java byte数组与String互转:编码细节与踩坑记录
java·linux·服务器
W_326002 小时前
Python文件进阶:一维数据与 CSV 文件读写
开发语言·python
晚风醉蝶2 小时前
1-6-插入排序-InsertionSort
java·数据结构·排序算法
Tisfy2 小时前
LeetCode 3090.每个字符最多出现两次的最长子字符串:二重循环 / 滑动窗口
算法·leetcode·字符串·题解·模拟·双指针·滑动窗口