
Map俩种遍历方式
发布日期:2025-04-12 00:44:17
浏览次数:10
分类:精选文章
本文共 1911 字,大约阅读时间需要 6 分钟。
Map本身没有迭代器,因此在遍历其中元素时需要采取新的措施。在JDK中,提供了两种主要方法来实现这一目标。
1. keySet()
keySet()
方法用于返回此映射中包含的键的集合视图。该集合受映射支持,即映射的更改会自动反映在集合中,反之亦然。需要注意的是,在对集合进行迭代的同时修改映射时,迭代结果可能会受到影响(除非是通过迭代器自身的 remove
操作修改)。集合支持元素移除,主要通过以下操作可以实现:Iterator.remove
、Set.remove
、removeAll
、retainAll
和 clear
。然而,它不支持 add
或 addAll
操作。
返回:
返回此映射中包含的键的集合视图。示例代码:
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) { Mapmap = 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.remove
、Set.remove
、removeAll
、retainAll
和 clear
。然而,它不支持 add
或 addAll
操作。
返回:
返回此映射中包含的映射关系的集合视图。示例代码:
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) { Mapmap = 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); } }}
通过以上两种方法,我们可以分别遍历映射中的键和键值对。需要注意的是,在使用这些方法时,集合的状态与映射保持一致,操作会相互影响。
发表评论
最新留言
很好
[***.229.124.182]2025年05月16日 03时49分29秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux——静态库
2025-04-07
Linux下安装或升级Python 2.7
2025-04-07
Linux下的硬件管理与设备驱动全解析
2025-04-08
Linux下的系统监控与性能调优:从入门到精通
2025-04-08
Linux安装JDK 17
2025-04-09
Linux安装JMeter进行压力测试
2025-04-09
Linux安装mysql:FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql
2025-04-09
Linux安装Tomcat
2025-04-09
linux审计功能及规则 (audit.rule)
2025-04-09
Linux就这个范儿 第18章 这里也是鼓乐笙箫 Linux读写内存数据的三种方式
2025-04-09
Linux工作笔记023---Centos7 查看系统安装了什么软件_多少软件
2025-04-09
Linux工作笔记024---Centos7 下查看本机公网IP
2025-04-09
Linux工作笔记040---Centos8.2安装mysql5.7.18_已经测试成功
2025-04-09
linux常用命令合集及常用工具指令集
2025-04-09
linux开机启动脚本制作
2025-04-09
Linux服务器中毒?教你一步步精准判断和快速处置!
2025-04-09
Linux查看CPU和内存使用情况
2025-04-09
Linux根文件系统详解
2025-04-09
linux系统如何实现内网穿透、外网访问
2025-04-10
linux系统如何实现内网穿透、外网访问
2025-04-10