当前位置:首页 > Java知识 > 正文内容

什么是javabean?javabean的优点是什么?(java 优缺点)

abcsky884个月前 (01-26)Java知识47

本篇文章给大家谈谈

在这篇文章中,您将学习如何使用Java对Map按照键或值进行排序前几日有位朋友面试遇到了这个问题,看似很简单的问题,但是如果不仔细研究一下也是很容易让人懵圈的面试题所以我决定写这样一篇文章在Java中,有多种方法可以对Map进行排序,但是我们将重点介绍Java 8 Stream,这是实现目标的一种非常优雅的方法。

什么是javabean?javabean的优点是什么?(java 优缺点)

一、什么是Java 8 Stream使用Java 8 Streams,我们可以按键和按值对映射进行排序。下面是它的工作原理:

将Map或List等集合类对象转换为Stream对象使用Streams的sorted()方法对其进行排序最终将其返回为LinkedHashMapseo综合查询怎么用(可以保留排序顺序)sorted()方法以Comparator作为参数,从而可以按任何类型的值对Map进行排序。

如果对Comparator不熟悉,可以看本号前几天的文章,有一篇文章专门介绍了使用Comparator对List进行排序二、学习一下HashMap的merge()函数在学习Map排序之前,有必要讲一下HashMap的merge()函数,该函数应用场景就是当Key重复的时候,如何处理Map的元素值。

这个函数有三个参数:参数一:向map里面put的键参数二:向map里面put的值参数三:如果键发生重复,如何处理值。可以是一个函数,也可以写成lambda表达式。

看上面一段代码,我们首先创建seo综合查询怎么用了一个HashMap,并往里面放入了一个键值为k:1的元素当我们调用merge函数,往map里面放入k:2键值对的时候,k键发生重复,就执行后面的lambda表达式表达式的含义是:返回旧值oldVal加上新值newVal(1+2),现在map里面只有一项元素那就是k:3。

其实lambda表达式很简单:表示匿名函数,箭头左侧是参数,箭头右侧是函数体函数的参数类型和返回值,由代码上下文来确定三、按Map的键排序下面一个例子使用Java 8 Stream按Map的键进行排序:。

点击可放大看上文中第二段代码:首先使用entrySet().stream() 将Map类型转换为Stream流类型然后使用sseo综合查询怎么用orted方法排序,排序的依据是Map.Entry.comparingByKey(),也就是按照Map的键排序。

最后用collect方法将Stream流转成LinkedHashMap 其他参数都好说,重点看第三个参数,就是一个merge规则的lambda表达式,与merge方法的第三个参数的用法一致由于本例中没有重复的key,所以新值旧值随便返回一个即可。

上面的程序将在控制台上打印以下内容,键(国家/地区名称)以自然字母顺序排序:China=86France=33Germany=49Pakistan=92United States=1请注意使用LinkedHashMap来存储排序的结果以保持顺seo综合查询怎么用序。

默认情况下,Collectors.toMap()返回HashMapHashMap不能保证元素的顺序如果希望按照键进行逆向排序,加入下图中红色部分代码即可。

四、按Map的值排序当然,您也可以使用Stream API按其值对Map进行排序:

这是显示Map按值排序的输出:United States=1France=33Germany=49China=86Pakistan=92五、使用TreeMap按键排序大家可能都知道TreeMap内的元素是有顺序的,所以利用TreeMap排序也是可取的一种方法。

您需要做的就是创建一个TreeMap对象,并将数据从HashMapput到TreeMap中,非常简单seo综合查询怎么用:// 将 `HashMap` 转为 `TreeMap`Map sorted = new TreeMap(codes);

这是输出:China=86France=33Germany=49Pakistan=92United States=1如上所示,键(国家/地区名称)以自然字母顺序排序期待您的关注通过搜-suo-查询“字母哥博客”或zimug点靠m,更多精品合集知识等待你! 。

本号只做持续的知识输出,希望您能关注、评论、转发!您的支持是我不竭的创作动力!让知识产生价值、让程序员改变世界!举报/反馈

扫描二维码推送至手机访问。

版权声明:本文由海南拓宏网络科技工作室发布,如需转载请注明出处。

本文链接:http://www.4blc.com/post/13124.html

分享给朋友:

“什么是javabean?javabean的优点是什么?(java 优缺点)” 的相关文章

招聘6000到8000能拿多少(招聘写工资6到8千,一般会给多少)

本文分享给大家的是: 简历注册免费发招聘 昆明吉庆详食品有限责任公司Recruiting Talents昆明吉庆祥食品有限责任公司,于2002年9月由昆明吉庆祥糕点厂改制而来本公司位于秀丽的五华山旁边,是一个历史悠久的食品生产骨干企业“吉庆祥”创建于一九○七年,最早的创始人...

eureka.client.enabled(eureka.client.enabled=false)

今天给各位分享 大家好,我是悟空最近在倒腾 Eureka 源码,大环境太卷了,必须得卷点源码才行,另外呢,能够读懂开源项目的源码、解决项目中遇到的问题是实力的象征,是吧?如果只是会用些中间件,那是不够的,和 CRUD 区别不大。 话不多说,源码走起本篇是 Eureka 源码...

萌妹子搞笑段子(一女子搞笑段子)

今天给各位分享 原标题:搞笑段子:一妹子问我:SM是什么意思啊?我说:失眠的意思1. 搞笑段子:今天开会的时候,老板突然深吸一口气,好严肃的说:我是一个菠萝大家都愣住了,开始思索自己是什么水果,接着,他说,希望你们能是我的千里马....。 2. 搞笑段子:下班晚了点赶紧跑回...

java与c++的区别(java与c++区别)

本文分享给大家的是:   众所周知,C++和Java这两种编程语言都是面向对象的,但是这两种语言在几个方面有所不同C++是C语言的衍生物,具有面向对象和过程编程语言的特征基本上,C++是为应用程序和系统开发而设计的,而Java是为虚拟机而设计的,虚拟机由完整的库组成,以支持现有的平...

前端测试题网站(1+x前端初级考试)

本篇文章给大家谈谈 双111111试学前端/Java系统班在双十一结束之际,谷里特意奉上大礼,11.11元试学一周前端/Java课程,话不多说,请看下文详细介绍: 时间11月12日—11月30日 内容11月12日开始,可报名参加11.11元的饥人谷前端/Java系统...

优客逸家官网电话多少(优客逸家客服电话)

本文分享给大家的是: 如今在Java大数据行业,高端人才一直处于紧缺状态,不是找不到人,而是来面试的人不是技术不够,就是没有单独完成项目的能力,一般作为企业的面试官,首先看中的就是你的专业技术,其次是你的工作经验面对不同的企业我们该如何提升Java大数据工程师的核心能力呢?。...