List<类> list; 代表某集合//返回 对象集合以类属性一升序排序
list.stream().sorted(Comparator.comparing(类::属性一));//返回 对象集合以类属性一降序排序 注意两种写法
list.stream().sorted(Comparator.comparing(类::属性一).reversed());//先以属性一升序,结果进行属性一降序
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()));//以属性一降序//返回 对象集合以类属性一升序 属性二升序
list.stream().sorted(Comparator.comparing(类::属性一).thenComparing(类::属性二));//返回 对象集合以类属性一降序 属性二升序 注意两种写法
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二));//先以属性一升序,升序结果进行属性一降序,再进行属性二升序
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()).thenComparing(类::属性二));//先以属性一降序,再进行属性二升序//返回 对象集合以类属性一降序 属性二降序 注意两种写法
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二,Comparator.reverseOrder()));//先以属性一升序,升序结果进行属性一降序,再进行属性二降序
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()).thenComparing(类::属性二,Comparator.reverseOrder()));//先以属性一降序,再进行属性二降序//返回 对象集合以类属性一升序 属性二降序 注意两种写法
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二).reversed());//先以属性一升序,升序结果进行属性一降序,再进行属性二升序,结果进行属性一降序属性二降序
list.stream().sorted(Comparator.comparing(类::属性一).thenComparing(类::属性二,Comparator.reverseOrder()));//先以属性一升序,再进行属性二降序//空/Null数据排序
list.stream().sorted(Comparator.comparing(类::属性一).thenComparing(item -> item.属性二, Comparator.nullsLast(Date::compareTo))).collect(Collectors.toList());//空/Null数据分组
Map<String, List<类>> map = list.stream().collect(Collectors.groupingBy(item -> {if (item.属性一 == null || item.属性一.equals("")) {return "";}return DateFormat.getDateInstance().format(item.属性一);
}))

java8对类集合使用 Comparator.comparing 进行排序相关推荐

  1. Java8 lambda表达式,Comparator.comparing().thenComparing()报错

    环境 Java:1.8+ 前言 今天发了一个问题: 问题描述: 对List进行排序,如果在Comparator.comparing()方法中,只使用一个字段排序,没有问题. 但是如果使用多字段排序,并 ...

  2. java list集合自定义排序_Java 通过 Comparator comparing 对 list 自定义 排序

    摘要: 在日常开发中,经常会用到排序算法,这里记录下日常使用比较多的排序方法,其中包括按指定指定:正序.倒序排序,还有按自定义字段排序的方法,方便日后查看: 一:按指定字段排序,默认倒序,如下写法: ...

  3. java8 collectors类_java8之collectors

    java8中提供了对集合进行转化,然后进行归集的的操作.这就不得不提Collectors这个类了,真的很强大,我们看示例吧. KeyAndValue a1 = newKeyAndValue().set ...

  4. Java8中list集合的常用方法

    1.检查list集合中是否存在某个值 一个list集合内有name,sex字段,需要判断list中是否有name有叫张三的人,如果有返回true boolean b = list.stream().f ...

  5. 工具类 | 集合工具类Collections介绍

    前言 通过本文,你可以学习到 Collections 工具类的一些方法使用,在编码过程中都是非常实用的. 空集合 一个元素的集合 不可变集合 线程安全集合 批量增加 填充 交换位置 排序 逆序 随机排 ...

  6. 【Java 8 新特性】Java Comparator.comparing | 提取对象属性,按照指定规则排序

    Java Comparator.comparing | 提取对象属性,按照指定规则排序 Comparator.comparing Comparator.comparingInt Comparator. ...

  7. 第八节:详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架

    前言 大家好,给大家带来详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架的概述,希望你们喜欢 JAVA 异常 try...catch...finally结构的使用方法 class Tes ...

  8. java8 迭代set集合_JavaSE(八)集合之Set

    2.2.HashSet特点 不能保证元素的排列顺序,顺序可能和添加的顺序不同,顺序也有可能发生变化. HashSetf不是同步的,如果多个线程同时来访问一个 HashSet,假设有两个或者两个以上线程 ...

  9. Day18JavaSE——Map集合Collections工具类集合案例练习

    Day18JavaSE--Map集合&Collections工具类&集合案例练习 文章目录 Day18JavaSE--Map集合&Collections工具类&集合案例 ...

  10. java8特性--list集合根据多个字段去重

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan 项目需求描述 出于项目需要,有一个list,实体包含多个字段,当其中两个字段相同均相同时,就认为 ...

最新文章

  1. Centos7 Docker Compose部署mysql5.7
  2. 499php,一笔画仙路 [499]第499章 神器的威力 最新章节无弹窗全文免费阅读 乐文阅读官网...
  3. proe输入数字时成双出现_罗斯蒙特温度变送器3144P单只和双只输入输出的的含义...
  4. 108-学习如何格式化字符串
  5. 医院的“数据中心”,究竟应该怎么建?
  6. OSX 挂载 NTFS 格式硬盘
  7. 两种方式解决 生产者消费者问题
  8. 项目QQ音乐开发记录
  9. jdk并发包里常用的类
  10. Excel如何处理x,y坐标的合并
  11. 进程管理利器Supervisor--入门简介
  12. 696.计数二进制子串(力扣leetcode) 博主可答疑该问题
  13. INSAR学习(小白笔记一)
  14. word中使用通配符替换【持续更新系列】
  15. 数智时代,英特尔的“三个火枪手”
  16. 安装服务器系统后鼠标键盘没反应,安装Win7系统以后键盘鼠标不能用/失灵没反应的缘由以及解决方法...
  17. 基于卷积和递归神经网络的物联网流量分类器
  18. windows11家庭版安装hyperv-v
  19. Android使用字体代替图标
  20. uniapp调试ESC指令热敏打印机 打印图片 以及 打印途中报10007特性不支持解决方案

热门文章

  1. 人工智能学习——神经网络(matlab+python实现)
  2. 掌握NestJS - JavaScript Node.js 框架
  3. PDF文件编辑指南4:PDF文档加密和移除PDF文档密码方法
  4. win10小课堂:微信电脑端多开方法
  5. 文献翻译——YOLO9000:Better,Faster,Stronger(YOLOv2)
  6. 一个猫下面的计算机互相访问,光猫连接路由器和电脑如何互相访问
  7. oracle虚拟机安装苹果,虚拟机中如何安装MAC OS系统?虚拟机安装苹果系统教程
  8. 微信电子商务的B店战略和C店战术
  9. c#语言编写汉诺塔游戏,c#语言编写汉诺塔游戏
  10. AXURE RP8实战手册 网站和APP原型制作案例精粹