分享好友 最新动态首页 最新动态分类 切换频道
Java8排序技巧:10种使用Lambda和Stream的方法
2024-12-27 01:24

今天分享 Java 8 进行排序的 10 个姿势,其实就是把 Java 8 中的 Lambda、Stream、方法引用等知识点串起来

现在有一个 List 集合

 

jdk8 之前的排序

 
 
 

使用示例如下

 

2、Lambda 排序(不带参数类型
Lambda 表达式是可以不用带参数类型的,如下示例

 

代码中的 u1, u2 并没有用 User 类修饰,它会自动推断为 User 类型,因为集合本身就是一个 User 泛型。

3、静态方法引用排序
除了 Lambda 表达式,还可以用类的静态方法引用

 

使用方法引用之后代码是不是更简洁了

4、实例方法引用排序
不仅可以用类的静态方法,还可以用类的实例普通方法引用

 

这个 getInstance 在这里实际上是一个单例,但和单例无关,任何类的实例都可以。

使用示例如下

 

既然是函数式接口,所以又可以用 Lambda、方法引用形式作为参数传入。

6、Comparator 工具类排序(降序
还可以使用 Comparator.reversed/ reversedOrder 方法进行降序

 

7、组合排序
如果要先按用户的年龄排序,年龄相同的再按姓名排序,可以使用 Comparator 接口中的 thenComparing 默认方法

 
 
 
 

所以使用 Stream 也可以扩展多种排序方法,见注释部分,这里就不展开了

9、并行 Stream 排序
有 Stream 排序,那就并行 Stream(parallelStream)排序

 

10、Collections 排序
既然在 Java 8 中,Comparator 接口被定义成了函数式接口,那么我们传统的 Collections 工具类就可以改变了,我们也可以使用 Lambda、方法引用、Comparator 接口自身提供的工具方法对其调用

 
 

本文列举了 Java 8 中的 10 种排序方法,其实就是 10 个案例,还可以扩展更多,只是给大家个参考,总体来说,其实可以分为 3 大类

List 接口中的 sort 方法

Stream 接口中的 sorted 方法

Collections.sort 工具类方法

这三个方法都可以接收 Comparator 接口作为参数,并且 Comparator 接口在 Java 8 中被定义成了函数式接口,所以我们可以用 Lambda 表达式、方法引用、Comparator 自身工具类等不同的参数形式传入,可谓是太秀了。

这些方法性能如何呢

写了一个小例子,1 万数据的集合,使用静态方法引用进行测试

 

输出结果

最新文章
视频重绘工具DomoAI 不用SD视频一键就能转动漫
▼用户可以通过提供简短的文本提示,例如描述一位老巫师、一个在水下游泳的女孩或释放魔法的少女,来启动的艺术生成功能。这显示了的灵活性,使用户能够根据自己的需求和创意方向快速实现他们的想法。DomoAI致力于通过其工具台加速用户的实
谷歌的搜索建议XHR请求
是一种通过XMLHttpRequest对象发送异步HTTP请求的技术。XHR代表XMLHttpRequest,是一种在后台与服务器进行数据交换的技术,可以在不重新加载整个页面的情况下更新部分网页内容。XHR请求的优势包括:XHR请求的应用场景包括:腾讯云相关产品
解锁TikTok尾部达人力量:品牌信任在海外市场的构建之路
在数字营销浪潮中,达人的影响力不断增加。相较于头部达人,尾部达人粉丝数量较少,但粉丝群体更加精准,对其内容的信任度和粘性也更高。通过真实、透明的内容创作和互动,TikTok尾部达人成为信任的“传递者”,为品牌出海奠定了坚实的基础
短剧小程序开发定制,付费追剧,广告解锁支持iaa/iap混合变现
标题:短剧小程序开发定制:全方位服务,助力您的付费追剧平台一臂之力正文:在当今移动互联网时代,短剧内容因其形式多样、节奏紧凑、易于消费而广受用户喜爱。作为一家专业的网络科技公司,南阳迈特网络科技有限公司致力于为有志于进入短
日韩精品一区二区三区老鸦窝近日发布最新合作项目引发广泛关注双方将共同开发新技术推动产业升级并加强市场竞争力
  日韩精品一区二区三区老鸦窝近日发布最新合作项目,引发了广泛关注。双方将共同开发新技术,推动产业升级,并加强市场竞争力。这一消息不仅在业内引起热议,也吸引了众多网友的讨论和期待。  日韩两国在科技领域一直保持着紧密的合作
黑神话悟空推荐配置要求 黑神话悟空高配低配介绍
黑神话悟空正在持续预热中,作为一款万众瞩目的游戏,很多玩家都已经进行了预购,但是也有不少人看了pv之后,担心自己的设备无法正常运行游戏,也有玩家很好奇开启最高画质之后的黑神话需要什么配置来支撑,今天小编就来给各位来看看具体的
【省300元】华为NAS存储
华为家庭存储配备,可自行另配硬盘,硬盘接口采用SATA 3接口,最大支持20TB+20TB存储空间。NAS内置AI算力,能够根据不同维度进行图片视频整理。支持自然语义搜索,帮你找到所需内容。同一账号下能够快速读取文件,打破空间的约束。家庭存储
无货源一件代发违法吗(告诉你无货源一件代发怎么做)
无货源一件代发,比较适合没有资金和货源的卖家们,但是,很多卖家也知道淘宝现在的规则也是越来越严了,如果是做一件代发违法吗?因为,这些年因为违规被封店铺的商家也不少,所以,大家的担心也不无道理。一、无货源一件代发违法吗?其实,
怀化智能锁24小时售后服务热线电话号码统一报修(人工客服) - 焦点 - 百科知识-蓝心网
总之,选购一把好的门锁,需要综合考虑多种因素,从锁芯级别、智能功能、材质、设计、安装和维护等方面进行权衡。只有这样,才能确保家门的安全,为家人创造一个霍邱的居住环境。闪电指智能门锁,作为国产智能锁代表品牌之一,值得考虑。重
相关文章
推荐文章
发表评论
0评