Java中List使用Comparator.comparing进行排序
1.首先你需要list.parallelStream().sorted 进行流处理,使用parallelStream可以充分调度多核CPU。
2.使用Comparator.comparing进行排序,reversed()进行倒序排列,thenComparing进行下一个排序。
3.Comparator.comparing()里面的内容,也是就是Object::getter,例如KeywordCounterDTO::getKeyword
4.最后格式化为需要的格式 List 是.collect(Collectors.toList()) , Map 是 .collect(Collectors.toMap(KeywordCounterDTO::getKey, KeywordCounterDTO::getValue))
//powered by zhengkai.blog.csdn.net list = list.parallelStream().sorted(Comparator.comparing(KeywordCounterDTO::getAllCounter).reversed().thenComparing(KeywordCounterDTO::getKeyword) ).collect(Collectors.toList());/*** 相反的排序规则*/ Collections.sort(employees, Comparator.comparing(Employee::getName).reversed()); employees.forEach(System.out::println);//使用 Comparator.nullsFirst进行排序 //当集合中存在null元素时,可以使用针对null友好的比较器,null元素排在集合的最前面employees.add(null); //插入一个null元素 Collections.sort(employees, Comparator.nullsFirst(Comparator.comparing(Employee::getName))); employees.forEach(System.out::println);Collections.sort(employees, Comparator.nullsLast(Comparator.comparing(Employee::getName))); employees.forEach(System.out::println);
//使用 Comparator.thenComparing 排序 //首先使用 name 排序,紧接着在使用ege 排序,来看下使用效果Collections.sort(employees, Comparator.comparing(Employee::getAge).thenComparing(Employee::getName)); employees.forEach(System.out::println);
Java中List使用Comparator.comparing进行排序相关推荐
- Java中Comparable和Comparator接口区别分析
本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧. Comparable 简介 Comp ...
- 简单介绍Java中Comparable和Comparator
转载自 简单介绍Java中Comparable和Comparator Comparable 和 Comparator是Java核心API提供的两个接口,从它们的名字中,我们大致可以猜到它们用来做对象之 ...
- java comparator相等_详解Java中Comparable和Comparator接口的区别
详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...
- Java中Comparable和Comparator实现对象比较
Java中Comparable和Comparator实现对象比较 目录 一. Comparator 二. Comparable 三.比较 当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comp ...
- JAVA语言-比较器Comparator(java中Comparable和Comparator的区别)
文章目录 一.什么是Comparator 二.Java compare方法和compareTo方法 三.java中Comparable和Comparator的区别 Comparator的例子 三.de ...
- java中sort函数comparator的使用_Comparator 与排序
Java 排序 Java 中经常需要对一个列表进行排序,列表中可能是基本数据类型,也可能是自定义对象,对于自定义对象的排序我们可能只想按照其某个属性排序,甚至多种条件组合对其排序,这些都可以借助于 C ...
- java compareto方法怎么排序的_深入理解Java中Comparable和Comparator排序
本文有牛旦教育原创,头条首发,转载注明来源. 如何为需要的排序算法选择正确的接口?通过本文的分析讲解,我们会找到答案参考答案. 程序员经常需要将数据库中的元素排序为集合.数组或映射.在Java中,我们 ...
- Java 中 Comparable 和 Comparator 比较
为什么80%的码农都做不了架构师?>>> 本文,先介绍Comparable 和Comparator两个接口,以及它们的差异:接着,通过示例,对它们的使用方法进行说明. Comp ...
- Java中Comparable和Comparator的区别
前言 最近复习遇到了这个问题,在此进行一个详细的记录,分享给大家. 两个接口的区别 包区别 Comparable接口是在java.lang下. Comparator接口是在java.util下. 使用 ...
- Java中Comparable和Comparator区别小结
阅读目录 一.Comparable简介 二.Comparator简介 三.Comparable和Comparator区别比较 回到顶部 一.Comparable简介 Comparable是排序接口.若 ...
最新文章
- FlexPaper不能跨服务器加载远程文件解决办法
- tf记录 之 tf.boolean_mask函数
- x86的32位汇编快速入门
- Redis集群搭建很easy
- mysql极客_极客mysql16
- jq之$(“a[target=‘_blank‘]“)不隐藏
- 语言五子棋无ai程序框图_微软多语言预训练模型T-ULRv2登顶XTREME排行榜
- 李斌:中国量化投资踏上快速发展期
- 万兴pdf编辑解压后打不开_为什么有的PDF文档无法编辑?
- 这10个对冲基金策略你必须烂熟于心
- LiveQing私有云流媒体-云端录像时间轴视频及列表视图
- android系统裁剪之APP精简
- 多用途数据主导“物联网未来”的实施
- CS4398 Cirrus Logic的旗舰级音频解码芯片
- Java基础之IO流(二)
- WIFI智能家居之智能插座
- 科技学习:第1篇 无人驾驶技术概述
- Unity3D中的预制体Prefab
- 数理化解题研究杂志社数理化解题研究编辑部2022年第30期目录
- 微信小程序中使用vant框架
热门文章
- 字符串str.format()方法
- volatility取证
- 【NiosII训练】第二篇、FPGA驱动AD9854高级篇
- 如何在Swift中实现状态机?
- TSE2019-The Art, Science, and Engineering of Fuzzing: A Survey
- CodeForces - 1538G Gift Set (二分)
- ADA程序实例(面向对象特性之多态)
- python爬取煎蛋图片(2018-7-30有效)
- 专访平安科技方国伟:全面解读金融云中CaaS的技术选型
- swiper 移动端选项卡_基于swiper的Tab选项卡