Map集合用于保存键值对数据,每个键对应一个值,键不允许重复,而值可以重复。存储时需同时指定键和值,获取时可通过键直接查找对应的值,也可对整个集合进行遍历。编程中常用于表示具有映射关系的数据,例如班级中学号与学生姓名的对应:每个学号唯一,但不同学生的姓名可能相同。常见的遍历方式包括:通过键集获取所有键,再逐个取得对应值;使用条目集将键值对作为一个整体进行遍历;还可以借助迭代器或增强for循环实现对Map内容的逐一访问,灵活适用于不同场景。
1、 遍历Map集合有多种方式,应根据具体业务逻辑选择合适的方法。首先需定义并初始化一个Map集合,再进行遍历操作。
2、 接下来介绍第一种遍历方式:使用HashMap的entrySet()方法,具体实现详见代码示例,随后将对比其与keySet()和values()两种遍历方式在性能和应用场景上的不同之处。
3、 运行代码,观察第二步的执行输出结果。
4、 通过HashMap的keySet()方法遍历Map的第二种方式,具体实现请参考以下代码示例。
5、 运行代码,观察步骤4的执行输出结果。
6、 第三种方法是通过遍历HashMap的values()来实现,具体代码如下所示。
7、 运行代码,观察步骤6的执行输出结果。
8、 在步骤2、4、6中分别使用KeySet()、entrySet()和values()三种方式遍历Map集合,这三种方法的主要区别在于获取的数据内容不同:KeySet()返回键的集合,entrySet()返回键值对的集合,values()仅返回值的集合。
9、 values() 方法用于获取集合中所有值,仅返回值的列表,不包含键及对应关系。
10、 KeySet() 方法会将 Map 中所有键存储到一个 Set 集合中。由于 Set 支持迭代,因此可通过迭代遍历所有键,并结合 get() 方法获取每个键对应的值。迭代过程中仅能通过 get() 方法根据键提取值。
11、 entrySet() 方法用于返回当前映射中所有键值对的 Set 视图,每个元素都是 Map.Entry 类型,代表一条映射关系。通过遍历该集合,可调用 getKey() 和 getValue() 方法分别获取键和值,便于逐个处理映射中的每一对数据,返回结果为 Entry 接口实例的集合。
12、 采用 For Each 循环结构遍历数据,具体操作步骤如下所示。
13、 运行代码,观察步骤9的执行结果。
