当前位置: 首页 > news >正文

【HashMap】HashMap的6种遍历方法

目录

1 创建map

2 keySet获取Map集合key的集合 然后在遍历key即可

3 通过Map.entrySet遍历key和value,

4 通过迭代器(Iterator)的方式

5 分别循环得到key和value

6 JDK1.8特有的通过Lambda表达式


1 创建map

Map<String,String> map=new HashMap<>();
     map.put("11","11");
     map.put("22","22");
     map.put("33","33");
     map.put("44","44");

2 keySet获取Map集合key的集合 然后在遍历key即可

for(String key:map.keySet()){
       String value = map.get(key).toString();
       System.out.println("key="+key+," vlaue="+value);
}

通过Map.entrySet遍历key和value

大容量时推荐使用

通过对map entrySet的遍历,也可以同时拿到key和value,一般情况下,性能上要优于上一种,这一种也是最常用的遍历方法

 for (Map.Entry<String, Object> entry : map.entrySet()) {
	      System.out.println("key="+entry.getKey()+"  value="+entry.getValue());
	    }

通过迭代器(Iterator)的方式

Iterator<Entry<String, Object>> it = map.entrySet().iterator();
       while(it.hasNext()){
            Entry<String, Object> entry = it.next();
            System.out.println("key="+entry.getKey()+"  value="+entry.getValue());
            }

分别循环得到key和value

for(String key : map.keySet()){
            System.out.println("key="+key);
        }

        for(String value:map.values()){
            System.out.println("value="+value);
        }

JDK1.8特有的通过Lambda表达式

map.forEach((k, v) -> System.out.println("key=" + k + "value=" + v));

相关文章:

  • 网络中其他重要技术与协议(DNS系统,ICMP协议,NAT技术与代理服务器)
  • [仅需1步]企业微信群机器人[0基础接入][java]
  • 关于 vue keep-live 缓存时候,缓存页面高度不生效问题 :
  • 对比勒索病毒和熊猫烧香,谈如何保证服务器端数据安全?
  • 【网络】HTTP协议详解
  • vue3.0 如何自定义指令
  • 浅析RocketMQ-消息重建
  • Kickstarter众筹需要准备哪些资料?
  • 数据分享|函数型数据分析部分省市新冠疫情数据
  • 莱佛士学生服装设计作品登知名时尚杂志NÜYOU
  • 【微搭低代码】小程序中利用弹窗组件实现城市切换选择
  • 【数据挖掘】XGBoost面试题:与GBDT的区别?为什么使用泰勒二阶展开?为什么可以并行训练?为什么快?防止过拟合的方法?如何处理缺失值?
  • 【物理应用】基于相场法模拟金属镍的晶粒的长大过程附matlab完整代码
  • 这三个步骤让你知道WPS如何转换成WORD文档
  • sql优化最新干货---mysql存储过程、索引和锁
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • CAP 一致性协议及应用解析
  • es6要点
  • extract-text-webpack-plugin用法
  • go append函数以及写入
  • JavaScript 基础知识 - 入门篇(一)
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • magento2项目上线注意事项
  • Material Design
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • PAT A1092
  • rabbitmq延迟消息示例
  • SSH 免密登录
  • Vue组件定义
  • 半理解系列--Promise的进化史
  • 翻译--Thinking in React
  • 规范化安全开发 KOA 手脚架
  • ------- 计算机网络基础
  • 将 Measurements 和 Units 应用到物理学
  • 利用DataURL技术在网页上显示图片
  • 深度学习在携程攻略社区的应用
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #if 1...#endif
  • #QT(智能家居界面-界面切换)
  • $(selector).each()和$.each()的区别
  • $refs 、$nextTic、动态组件、name的使用
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (26)4.7 字符函数和字符串函数
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (Java)【深基9.例1】选举学生会
  • (九)One-Wire总线-DS18B20
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (转)Oracle存储过程编写经验和优化措施
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET构架之我见