HashMap集合遍历的五种方式
文章目录
- 创建HashMap集合,添加数据
- 一、第一种foreach遍历
- 二、第二种foreach遍历
- 三、第一种迭代器遍历 效率高(建议使用)
- 四、第二种迭代器遍历 效率低(不建议使用)
- 五、JDK8新特性,通过lambda遍历Map
创建HashMap集合,添加数据
Map<Integer, String> map = new HashMap<Integer, String>();map.put(1, "张三丰");map.put(2, "周芷若");map.put(3, "汪峰");map.put(4, "灭绝师太");map.put(5, "成龙");System.out.println(map);输出结果:{1=张三丰, 2=周芷若, 3=汪峰, 4=灭绝师太, 5=成龙}
一、第一种foreach遍历
for (Integer integer : map.keySet()) {System.out.println(integer + "----" + map.get(integer));}
二、第二种foreach遍历
for (Map.Entry<Integer, String> entry : map.entrySet()) {System.out.println(entry.getKey() + "----" + entry.getValue());}
三、第一种迭代器遍历 效率高(建议使用)
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();while (iterator.hasNext()) {Map.Entry<Integer, String> next = iterator.next();System.out.println(next.getKey() + "----" + next.getValue());}
四、第二种迭代器遍历 效率低(不建议使用)
Iterator<Integer> iterator1 = map.keySet().iterator();while (iterator1.hasNext()) {Integer key = iterator1.next();String value = map.get(key);System.out.println(key + "----" + value);}
五、JDK8新特性,通过lambda遍历Map
需要安装JDK8版本
map.forEach((key, value) -> {System.out.println(key + "----" + value);});
解决编写lambda表达式时出现lambda expressions are not supported at this language level问题
一、问题原因
IDEA编写lambda表达式时报错:lambda expressions are not supported at this language level,意思是在此语言级别不支持lambda表达式,即lambda表达式是java8才支持的一种语法,所以检查idea编译运行环境是否是java8及以上版本。
二、问题解决
1. 打开 File --> Project Stucture–>Modules 选择项目设置Lanugage level, 如图所示
1、选择项目 --> 2、选择语言为8-Lambdas,type … --> 3、应用
2. 打开 File --> Settings --> Bulid,Execution,Deployment --> Compiler --> Java Compiler 设置 Project bytecode version;同时修改项目对应的Target bytecode version。 如图所示:
相关文章:

JAVA核心技术I---JAVA基础知识(查漏补缺private,static)
一:private对于类和对象(同C) private是只有这个类内部可以访问(类的成员函数和定义初始化) private是类之间的限制,而不是对对象的限制《重点》 同类对象是可以直接访问对象的私有成员 class priTest{priv…

『TensorFlow』命令行参数解析
argparse很强大,但是我们未必需要使用这么繁杂的东西,TensorFlow自己封装了一个简化版本的解析方式,实际上是对argparse的封装 脚本化调用tensorflow的标准范式: import pprint import tensorflow as tfflags tf.app.flags# 脚本…

IIS重起批处理
将以下代码保存到一个BAT文件中,执行后便可释放所有被锁定的组件。执行顺序是:停止WWW服务-〉停止组件保护-〉开启组件保护-〉开启WWW服务。net stop w3svc /…

RenderTree渲染树
RenderTree渲染树对类中的静态成员有很重要的关系,这个和多态是有很重要的关系,举个简单的例子,在游戏中,马里奥需要渲染,蘑菇也需要渲染,怪兽也需要渲染,其是串在一个树上的,但是不…

JAVA IO流复制文件夹及里面的所有文件
public static void main(String[] args) throws Exception {//复制到哪个路径(path)中String path "E:\\main";File file new File("F:\\main");copyAll(file, path);}public static void copy(File file, String path) throws E…

python RSA 加密与签名
PyCrypto装起来就简单多了,我是直接 sudo easy_install pycrypto 直接搞定的先生成rsa的公私钥:打开控制台,输入 openssl 再输入 genrsa -out private.pem 1024 来生成私钥接着输入 rsa -in private.pem -pubout -out public.pem 来生成公钥$…

深度解析VC中的消息(上)
消息是指什么?消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如…

漫谈C#之关键字(1)
每一种语言都有非常多的关键字,而且这些关键字也都大同小异,不过毕竟还是有些许的不一样。有些关键字大家碰到的多了,自然就熟悉了,但是有些关键字用得不大多,或者是新引入的,所以就不大熟悉了。我平常在用…

Python-CSS整理
CSS层叠样式表 1.格式 h1 {name:abc,color:red}; 选择器-属性-值 2.ID和类选择 #ID .类 3.CSS引用方式 link文件-外部样式表 script style-内部样式表 标签 style-内联样式 4.background背景 ~background ~-color 背景颜色 ~-repeat 是否重复 ~-pos…

利用 socket 获取 tcp 包并解析的问题。
服务器端代码如下:(Java Servlet 实现) protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { OutputStream out response.getOutputStream(); try { …

Mysql排序后显示排序序号
网上找的一个比较齐全的解释案例,拿来记录一下 ① : 与 的区别 : 赋值的意思。在set update select 中表示赋值的意思,用的比较少一般都用,但是在用变量实现行号时(比如本文标题获取排列序号),一定要用:…

解决Visual Studio For Mac Restore失败的问题
之前就了解到微软出了mac版的VS,没太多的关注,自己也就是使用 DotNet Core SDK VS Code 做一些小demo。 前两天发布了DotNet Core 2.0 ,Visual Studio For Mac 7.1 之后,感觉可以装起来用用,把win下面的项目转到Core上…

应用Etherchannel扩展企业服务的高可用性
什么是Etherchannel?Etherchannel可以说是Cisco特有的技术,也就是我们在交换机以及路由器上所要配置Etherchannel就不得不使用CISCO设备。在实际工程中一般用于出口与上层设备的连接。实际上通过Etherchannel的中文名-端口绑定就很容易理解,它…

Leetcode 391.完美矩形
完美矩形 我们有 N 个与坐标轴对齐的矩形, 其中 N > 0, 判断它们是否能精确地覆盖一个矩形区域。 每个矩形用左下角的点和右上角的点的坐标来表示。例如, 一个单位正方形可以表示为 [1,1,2,2]。 ( 左下角的点的坐标为 (1, 1) 以及右上角的点的坐标为 (2, 2) )。…

Meteor计时器
Meteor有提供它自己的setTimeout和setInterval方法。这些方法被用于确保所有全局变量都具有正确的值。它们就像普通 JavaScript 中的setTimeout 和 setInterval 一样工作。Timeout - 超时 Meteor.setTimeout 的例子。Meteor.setTimeout(function(){console.log("Timeout c…

WEB程序代码优化入手的几方面
这里对web程序方面的优化作一个总结.1.编码规范化可读性优化编码规范我想一般程序员不会不了解,如果你这方面是空白你应该好好补补基础了,做到编码规范是一个好的程序员的最基础要求,一个团队也应该有自己的编码规范。所以程序的优化也应该包…

【Elastic Stack(一)】Elastic Stack简介
如果你没有听说过Elastic Stack,那你一定听说过ELK。实际上ELK是三款软件的简称,分别是Elasticsearch、Logstash、Kibana组成,在发展的过程中,又有新成员Beats的加入,所以就形成了Elastic Stack。 所以说,…

c#创建、保存excel正常执行要点补疑
网上搜索C#实现excel操作的示例太多了,但不知道有多少是经过验证确实可行才发布出来的,也是因为开发需要,我找了一些代码却发现大多都不能正确执行完毕,于是决定补充自己在实践中遇到的要点以供参考。如下示例:usingMi…

动态更新 AGS Cache
作者:Flyingis 提升ArcGIS Server访问速度最佳的方式是Cache,将所有图层切片保存在服务器,客户端请求时直接访问cache好的图片,这里分为两种情况,一是所有图层都做cache,二是部分图层做cache࿰…

SVN状态图标不显示的两种解决办法
文章目录第一种方法第二种方法首先情况如下:这样看不到状态是不是就很难受 本博主最近也是第一次使用SVN做版本控制 然后就出现了这样的情况后来经过查询才知道SVN刚下载安装后 设置什么的都是默认的 需要手动设置一下就OK啦 第一种方法 我们先在桌面或者资源管理…

SPOJ ATOMS - Atoms in the Lab
题目链接:http://www.spoj.com/problems/ATOMS/ 题目大意:有N个原子,他们每秒分裂成K个新原子,新原子也能继续分裂。问如果要控制他的数量为M以内,应在什么时候使其停止分裂。其实时间为0. 解题思路:可以发…

hive lock命令的使用
1.hive锁表命令 hive> lock table t1 exclusive;锁表后不能对表进行操作2.hive表解锁: hive> unlock table t1;3.查看被锁的表 1.hive> show locks; 转载于:https://www.cnblogs.com/liyanbin/p/10237482.html

技术类人员的职业发展的4大方向
几乎每个企业都需要技术员的支持,生产制造型企业需要现场生产控制和工艺流程方面的技术人才;it等高科技行业需要大量软件研发和设备维护的硬件工程师;房地产、建筑工程领域需要建筑设计师、土木工程师和施工技术人员。此外,不论是…

Injection of @Reference dependencies failed;
配置、注解、xml什么的所有东西都没有问题 可能是接口这边所应用的jar包版本太高了 尝试将对应的版本降低试一下就好了 我这边是dubbo的版本太高导致一直出现这种问题

机器学习与数据科学 基于R的统计学习方法(基础部分)
1.1 机器学习的分类 监督学习:线性回归或逻辑回归, 非监督学习:是K-均值聚类, 即在数据点集中找出“聚类”。 另一种常用技术叫做主成分分析(PCA) , 用于降维, 算法的评估方法也不尽…

sql语句收集
1:随机抽取前30条select top 30 * from test order by newid()order by newid():随机产生id号,然后根据id号排序;top 30:前30道题目。2:在排名次时,经常遇到取前10名,但刚好第11名(12、13...&am…

atitit.php中的dwr 设计模式
atitit.php中的dwr 设计模式 1. dwr的长处相对于ajax来说。。1 2. DWR工作原理 1 3. php的dwr实现 1 4. 參考 3 1. dwr的长处相对于ajax来说。。 dwr是构建在ajax上的。。更加的dsl化。。大大简化了编写ajax的工作量。 2. DWR工作原理 是通过动态把Java类生成为Javascript。…

UML2.0工具比較
來源 前言 「工欲善其事,必先利其器」,學習UML沒有好的工具幫忙,往往會讓開發人員半途而廢,尤有甚者,開發人員有時會因為使用了不容易使用的開發工具而 誤認為UML是一個非常困難學習的「技術」。殊不知UML只是一種「語…

Spark快速入门
文章目录1、Spark概述1.1、什么是Spark?1.2、为什么要学Spark?1.3、Spark的特点1.3.1、运行速度快1.3.2、易用性好1.3.3、通用性强1.3.4、兼容性强2、搭建Spark集群2.1、下载2.2、环境准备2.3、配置免密登录2.4、开始安装2.5、Spark HA 高可用部署2.5.1、…

[14] 薪酬迅速翻倍的13条跳槽原则
首先,真正的高级人才是不用找工作的,因为只有被工作找的份。 但是,难免有些高级人才厌倦了旧的工作环境,或者遇到天花板,没有了发展空间,或者遇到新老板上任后排除异己来提拔自己的亲信等等,如果…