Java8 stream sorted排序时包括null
1. 需求:JDK8 stream sort排序时,排序字段有null
1,查找stream.sorted源码看到有Comparator.nullsFirst和Comparator.nullsLast方法
2.示例:
2.1.创建排序字段带null的List(排序字段为User.name)
Student User{
private String name;
private int age;
}List<User> list = Lists.newArrayList(new User("xiao_ming", 21), new User("xiao_hua", 22), new User(null, 23));
2.2.Comparator.nullsFirst/Comparator.nullsLast使用示例
List<User> nList = list.stream().sorted(Comparator.comparing(User::getName, Comparator.nullsFirst(String::compareTo))).collect(Collectors.toList());
Comparator.nullsFirst | 排序字段为null的对象放在排序后的List最后面 |
Comparator.nullsLast | 排序字段为null的对象放在排序后的List最前面 |
Java8 stream sorted排序时包括null相关推荐
- java sort 效率_性能对比:collections.sort vs treeSet sort vs java8 stream.sorted
0 写在前面的话 在项目中有一个排序问题,考虑到未来需要排序的数据量可能很大,想用一个性能较好的排序算法,现在有三套解决方法:jdk提供的集合的sort方法(Collections.sort).一个可 ...
- SQL 排序时对Null值的处理
描述: 你想按照 EMP 表的 COMM 列对查询结果进行排序,但该字段可能为 Null.因此,你需要想个办法来指定是否应该将 Null 值排到后面. ENAME SAL COMM --------- ...
- Java8-使用stream.sorted()对List排序
1.流的定义 Stream 中文称为 "流",通过将集合转换为这么一种叫做 "流" 的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的操作 ...
- Java stream().sorted()实现排序(升序、降序、多字段排序)
1 自然排序 sorted():自然排序,流中元素需实现Comparable接口 package com.entity;import lombok.*;@Data @ToString @AllArgs ...
- python字母大小写排序_Python中sorted()排序与字母大小写的问题
今天我在练习python时,对字典里的键用sorted排序时发现并没有按照预期排序 研究后发现字母大小写会影响排序 首先创建一个字典,键里面的首字母有大写有小写 favorite_digit = { ...
- Python中sorted()排序与字母大小写的问题
今天我在练习python时,对字典里的键用sorted排序时发现并没有按照预期排序 研究后发现字母大小写会影响排序 首先创建一个字典,键里面的首字母有大写有小写 favorite_digit = {' ...
- java8的sorted,Java8排序stream.sorted()
使用Java8排序stream.sorted() sorted-example 国外对Java8一系列总结的不错, 翻译过来给你们共享 这篇文章将会讲解Java 8 Stream sorted()示例 ...
- Java8 使用 stream().sorted()对List集合进行排序
集合对象定义 集合对象以学生类(StudentInfo)为例,有学生的基本信息,包括:姓名,性别,年龄,身高,生日几项. 使用stream().sorted()进行排序,需要该类实现 Comparab ...
- Java8 Stream(6)List集合排序 多字段排序 Null值排序
一.单字段排序 先造点数据 pigs.add(new Pig(1, "猪爸爸", 31, "M", false)); pigs.add(new Pig(2, & ...
最新文章
- ASP.NET中DataGrid鼠标经过感知以及点击行弹出窗口
- matlab 定义string_MATLAB开发自动驾驶第十课-创建用于加载自定义地面真值数据源的类...
- Vue开发跨端应用(五)cordova-ios运行问题
- 模拟IE登录一个需要(windows身份)验证的网站
- python的dll文件在哪_Python运行DLL文件的方法
- 大数据与数据挖掘考试题_2017-2019年全国Ⅱ卷高考考点数据分析(理综合)
- 2013年新年礼物---CrossFPC 终于出来了
- Internal Error 2738 - Installing ArcGIS Server 9.3,10 for Java
- java公约数_Java:获得最大的公约数
- 【算法】剑指 Offer 12. 矩阵中的路径
- 2015级C++第7周项目 友元、共享数据保护、多文件结构
- 巧得int(4字节)最大最小值
- css 拉伸 resize —— 实现可拉伸的div(含限制拉伸的尺寸)
- 华为 eNSP 模拟器配置动态路由(ospf)
- 三坐标检测之测量基准面的选择
- 反编译+混淆的攻守战
- Freemarker生成word文件,打开后页眉和页脚图片不显示
- 川崎机器人总线通信_川崎机器人:PLC有那些功能?能实现机器人哪些通讯?
- 常见密码哈希离线查询工具
- 南加大和纽约大学计算机专业,NYU,南加大RD狂放榜?科比女儿喜提Offer大满贯!...
热门文章
- windows vs2017 编译测试libzip
- php 图片一摸一样,PHP实现图片相似度对比
- [转帖]我的2006
- 怎样取消wps 2010首字母大写
- gba开发工具_GBA-GBC模拟器(VisualBoyAdvance-M)
- Ambari介绍_李孟_新浪博客
- LittleAlterBoy.dll VST插件
- 使用腾讯手游助手作为开发测试模拟器的方案---以及部分问题的解决方案-1
- 寻梦湘西-梵净山之旅
- msvcp110.dll丢失怎么办-msvcp110.dll丢失解决方法