侧边栏壁纸
  • 累计撰写 32 篇文章
  • 累计创建 18 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

Java List数据排序

bsdlzg
2022-10-20 / 0 评论 / 0 点赞 / 196 阅读 / 224 字

前言

  在开发中,因为业务需求,需要对某一字段,对list数据进行排序,在Java8之间,我们使用的是list中的sort方法,当遇到字段数据为空时,需要结合Comparator对数据进行排序。Java8之后的话,我们一般都是以stream流方式,对数据进行排序

具体的实现排序

Java8之前

jsonObjects.sort(Comparator.comparing(o -> ((JSONObject) o).getDouble("data"),Comparator.nullsFirst(Double::compareTo)).reversed());

Java8之后

 jsonObjects.stream().sorted(Comparator.comparing(obj -> ((JSONObject) obj).getDouble("data"),Comparator.nullsFirst(Double::compareTo)));

说明备注

  其中Comparator.nullsFirst是为了防止字段数据为空,从而报空指针异常的错误,nullsFirst是将字段为空的数据往前排。reversed是反转数据的。两者结合,就是将所有的空元素将被排在最后。

0

评论区