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相关推荐

  1. java sort 效率_性能对比:collections.sort vs treeSet sort vs java8 stream.sorted

    0 写在前面的话 在项目中有一个排序问题,考虑到未来需要排序的数据量可能很大,想用一个性能较好的排序算法,现在有三套解决方法:jdk提供的集合的sort方法(Collections.sort).一个可 ...

  2. SQL 排序时对Null值的处理

    描述: 你想按照 EMP 表的 COMM 列对查询结果进行排序,但该字段可能为 Null.因此,你需要想个办法来指定是否应该将 Null 值排到后面. ENAME SAL COMM --------- ...

  3. Java8-使用stream.sorted()对List排序

    1.流的定义 Stream 中文称为 "流",通过将集合转换为这么一种叫做 "流" 的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的操作 ...

  4. Java stream().sorted()实现排序(升序、降序、多字段排序)

    1 自然排序 sorted():自然排序,流中元素需实现Comparable接口 package com.entity;import lombok.*;@Data @ToString @AllArgs ...

  5. python字母大小写排序_Python中sorted()排序与字母大小写的问题

    今天我在练习python时,对字典里的键用sorted排序时发现并没有按照预期排序 研究后发现字母大小写会影响排序 首先创建一个字典,键里面的首字母有大写有小写 favorite_digit = { ...

  6. Python中sorted()排序与字母大小写的问题

    今天我在练习python时,对字典里的键用sorted排序时发现并没有按照预期排序 研究后发现字母大小写会影响排序 首先创建一个字典,键里面的首字母有大写有小写 favorite_digit = {' ...

  7. java8的sorted,Java8排序stream.sorted()

    使用Java8排序stream.sorted() sorted-example 国外对Java8一系列总结的不错, 翻译过来给你们共享 这篇文章将会讲解Java 8 Stream sorted()示例 ...

  8. Java8 使用 stream().sorted()对List集合进行排序

    集合对象定义 集合对象以学生类(StudentInfo)为例,有学生的基本信息,包括:姓名,性别,年龄,身高,生日几项. 使用stream().sorted()进行排序,需要该类实现 Comparab ...

  9. Java8 Stream(6)List集合排序 多字段排序 Null值排序

    一.单字段排序 先造点数据 pigs.add(new Pig(1, "猪爸爸", 31, "M", false)); pigs.add(new Pig(2, & ...

最新文章

  1. ASP.NET中DataGrid鼠标经过感知以及点击行弹出窗口
  2. matlab 定义string_MATLAB开发自动驾驶第十课-创建用于加载自定义地面真值数据源的类...
  3. Vue开发跨端应用(五)cordova-ios运行问题
  4. 模拟IE登录一个需要(windows身份)验证的网站
  5. python的dll文件在哪_Python运行DLL文件的方法
  6. 大数据与数据挖掘考试题_2017-2019年全国Ⅱ卷高考考点数据分析(理综合)
  7. 2013年新年礼物---CrossFPC 终于出来了
  8. Internal Error 2738 - Installing ArcGIS Server 9.3,10 for Java
  9. java公约数_Java:获得最大的公约数
  10. 【算法】剑指 Offer 12. 矩阵中的路径
  11. 2015级C++第7周项目 友元、共享数据保护、多文件结构
  12. 巧得int(4字节)最大最小值
  13. css 拉伸 resize —— 实现可拉伸的div(含限制拉伸的尺寸)
  14. 华为 eNSP 模拟器配置动态路由(ospf)
  15. 三坐标检测之测量基准面的选择
  16. 反编译+混淆的攻守战
  17. Freemarker生成word文件,打开后页眉和页脚图片不显示
  18. 川崎机器人总线通信_川崎机器人:PLC有那些功能?能实现机器人哪些通讯?
  19. 常见密码哈希离线查询工具
  20. 南加大和纽约大学计算机专业,NYU,南加大RD狂放榜?科比女儿喜提Offer大满贯!...

热门文章

  1. windows vs2017 编译测试libzip
  2. php 图片一摸一样,PHP实现图片相似度对比
  3. [转帖]我的2006
  4. 怎样取消wps 2010首字母大写
  5. gba开发工具_GBA-GBC模拟器(VisualBoyAdvance-M)
  6. Ambari介绍_李孟_新浪博客
  7. LittleAlterBoy.dll VST插件
  8. 使用腾讯手游助手作为开发测试模拟器的方案---以及部分问题的解决方案-1
  9. 寻梦湘西-梵净山之旅
  10. msvcp110.dll丢失怎么办-msvcp110.dll丢失解决方法