Map俩种遍历方式
发布日期:2025-04-12 00:44:17 浏览次数:10 分类:精选文章

本文共 1911 字,大约阅读时间需要 6 分钟。

Map本身没有迭代器,因此在遍历其中元素时需要采取新的措施。在JDK中,提供了两种主要方法来实现这一目标。

1. keySet()

keySet() 方法用于返回此映射中包含的键的集合视图。该集合受映射支持,即映射的更改会自动反映在集合中,反之亦然。需要注意的是,在对集合进行迭代的同时修改映射时,迭代结果可能会受到影响(除非是通过迭代器自身的 remove 操作修改)。集合支持元素移除,主要通过以下操作可以实现:Iterator.removeSet.removeremoveAllretainAllclear。然而,它不支持 addaddAll 操作。

返回

返回此映射中包含的键的集合视图。

示例代码

package com.Map;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Map;import java.util.Set;public class MapKeySet {    public static void main(String[] args) {        Map
map = new HashMap
(); map.put("01", "xsf"); map.put("02", "mdx"); Set
keySet = map.keySet(); Iterator
it = keySet.iterator(); while(it.hasNext()){ String key = it.next(); String value = map.get(key); System.out.println("key: " + key + " --> value: " + value); } }}

2. entrySet()

entrySet() 方法用于返回此映射中包含的映射关系的集合视图。与 keySet() 类似,该集合也受映射支持,即映射的更改会自动反映在集合中,反之亦然。需要注意的是,在对集合进行迭代的同时修改映射时,迭代结果可能会受到影响(除非是通过迭代器自身的 setValue 操作修改)。集合支持元素移除,主要通过以下操作可以实现:Iterator.removeSet.removeremoveAllretainAllclear。然而,它不支持 addaddAll 操作。

返回

返回此映射中包含的映射关系的集合视图。

示例代码

package com.Map;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class MapEntrySet {    public static void main(String[] args) {        Map
map = new HashMap
(); map.put("01", "xsf"); map.put("02", "mdx"); Set
> entrySet = map.entrySet(); for(Map.Entry
entry: map.entrySet()){ String key = entry.getKey(); String value = entry.getValue(); System.out.println("key: " + key + " --> value: " + value); } }}

通过以上两种方法,我们可以分别遍历映射中的键和键值对。需要注意的是,在使用这些方法时,集合的状态与映射保持一致,操作会相互影响。

上一篇:map函数
下一篇:Map中key和value值是否可以为null或空字符串?

发表评论

最新留言

很好
[***.229.124.182]2025年05月16日 03时49分29秒