java8 大到小排序,屌炸天,JDK8的排序大法!!
今天总结了下JDK中排序的方法,包括JDK8中强大的lambda表达式及函数式接口运用,不废话,请看下面示例。
public class Test {
public static void main(String\[\] args) {
List list = initList();
// jdk8之前的排序
Collections.sort(list, new Comparator() {
@Override
public int compare(User o1, User o2) {
return o1.getAge().compareTo(o2.getAge());
}
});
// jdk8 lambda排序,带参数类型
list = initList();
list.sort((User u1, User u2) -> u1.getAge().compareTo(u2.getAge()));
list.forEach(System.out::println);
System.out.println();
// jdk8 lambda排序,不带参数类型
list = initList();
list.sort((u1, u2) -> u1.getAge().compareTo(u2.getAge()));
list.forEach(System.out::println);
System.out.println();
// jdk8 排序,User类静态方法引用
list = initList();
list.sort(User::compareAge);
list.forEach(System.out::println);
System.out.println();
// jdk8 升序排序,Comparator提供的静态方法
list = initList();
Collections.sort(list, Comparator.comparing(User::getAge));
list.forEach(System.out::println);
System.out.println();
// jdk8 降序排序,Comparator提供的静态方法
list = initList();
Collections.sort(list, Comparator.comparing(User::getAge).reversed());
list.forEach(System.out::println);
System.out.println();
// jdk8 组合排序,Comparator提供的静态方法,先按年纪排序,年纪相同的按名称排序
list = initList();
Collections.sort(list, Comparator.comparing(User::getAge).thenComparing(User::getName));
list.forEach(System.out::println);
}
private static List initList() {
List list = new ArrayList<>();
list.add(new User("lisa", 23));
list.add(new User("tom", 11));
list.add(new User("john", 16));
list.add(new User("jennis", 26));
list.add(new User("tin", 26));
list.add(new User("army", 26));
list.add(new User("mack", 19));
list.add(new User("jobs", 65));
return list;
}
}
看完有没有觉得很惊艳,简直屌炸天,Lumbda表达式+函数式接口还有更多强大的应用下回再做个专题介绍。
推荐去我的博客:
觉得不错,别忘了点赞+转发哦!
java8 大到小排序,屌炸天,JDK8的排序大法!!相关推荐
- python输入字符串从大到小排列_791. 自定义字符串排序(Python)
难度:★★☆☆☆ 类型:字符串 方法:无 力扣链接请移步本题传送门 更多力扣中等题的解决方案请移步力扣中等题目录 题目 字符串S和 T 只包含小写字符.在S中,所有字符只会出现一次. S 已经根据某种 ...
- java怎么从大到小排序元祖_列表、元祖的操作
列表里面可以放对象,list用[ ] 表示,里面的对象用逗号隔开,里面的对象是有顺序的,列表有索引,可以进行切片,切片后产生新的列表. 列表的操作: 1.增 1.1append("xxx&q ...
- 对10个整数按由大到小顺序排序
用选择法对10个整数按由大到小顺序排序 源代码: #include <stdio.h> void main() { void sort(int x[],int n); int *p,i ...
- R语言使用ggpubr包的ggdotplot函数可视化水平棒棒糖图(自定义分组数据点色彩、自定义调色板、在两端添加点图的线段segments、整体排序从大到小、自定义数据点的大小、添加数值标签)
R语言使用ggpubr包的ggdotplot函数可视化水平棒棒糖图(自定义分组数据点色彩.自定义调色板.在两端添加点图的线段segments.整体排序从大到小.自定义数据点的大小.添加数值标签) 目录
- 使用shell统计字符串出现的次数,并从大到小进行排序显示
需求说明:对文档中的字符串进行统计,并进行排序后(从大到小),显示出前2条记录 构造的test.txt内容如下: a 12332 a 2323 a 234234 b 232 c 23432 c 34 ...
- arraylist从大到小排序_初学Python最简易入门之十四排序算法10对字典排序
当用sorted()函数对字典临时排序的时候,默认是对字典键名从小到大排序,排序的结果以列表的形式输出.如图14-10-1所示实例14-10-1用sorted()对棋类字典排序.pyw,程序执行结果见 ...
- c++ sort 从大到小排序_C语言必学的12个排序算法:冒泡排序(第4篇)
基本思想 冒泡排序(Bubble Sort),是一类"交换"类排序方法,类似水中冒泡,最大的数据会沉到水底,较小的数会浮上来.很简单,以从小到大排序为例,每一趟排序将"逆 ...
- java 一千万数字排序_java 输入任意几个数字,怎样将他们从大到小排序?
展开全部 public static void main(String[] args) { Scanner scan = new Scanner(System.in).e68a84e8a2ad3231 ...
- 函数模板案例_利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试
案例描述: 利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试 #include <iostream& ...
最新文章
- 基于Transformers入门自然语言处理!
- Ganymed SSH-2 for Java
- laravel框架中文手册_Laravel框架的这些你都懂的话,它核心架构基本就懂了
- php lamp环境搭建,lamp环境搭建 --lnmp环境搭建_无需整理
- UT斯达康XV6700的写号方法[图]
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法](转)
- 华科高级软件测试技术1704班-02组 如何计算团队成员贡献分
- Dubbo 线上 Thread pool is EXHAUSTED 问题排查
- 微信用户全局唯一标识_忘掉 Snowflake,感受一下性能高出587倍的全局唯一ID生成算法...
- @Valid注解的使用
- inotify java maven_inotifywait + rsync 监控文件并同步
- pow,sqrt使用时需注意
- php 文件预览 水印,php实现在线预览word等office文件,同时添加水印
- 百度api申请key
- 树莓派做BT下载器:transmission
- vpay平台模式开发 15天交付系统
- 【已解决】瞎设置代理服务器后IE浏览器上不了网
- DARPA到底是什么?一个能轻松将人类变成电子生化人的科技
- 计算机组成原理笔记(王道考研) 第二章:数据的表示和运算1
- SD卡寄存器及对应的CMD命令描述
热门文章
- 一种业界通用的响应式布局解决方法
- EOJ Monthly 2019.2 (based on February Selection) D.进制转换
- Tomcat设置Http自动跳转Https
- 0811-按钮操作(加法计算器)(拖控件找控件代码属性名称)(frame center bounds)(上下左右移动button图片)...
- SQL Server 数据库优化文章
- ndroid网络(4):HttpClient必经之路----使用线程安全的单例模式HttpClient,及HttpClient和Application的融合...
- 开始复习下sql,常用SQL语句示例(一)
- ListView的分页显示
- 在线网摘收藏?让Google来吧!
- C#(WinForm) + MySQL的中文编码问题(MySQL中文编码的终极解决方案)