List对象集合如何自定义排序

List对象集合自定义排序

最近开发个人博客项目的时候,遇到了一个难点,如何排序分类Type集合呢?
Type.java:

@Data
public class Type {

    private Long id;
    private String name;

    private List<Blog> blogs = new ArrayList<>();
}

假设现在可以从数据库获取到Type集合,那么我想根据该分类的博客数量进行排序该如何呢?
后来参考了该篇博客: 根据list集合某个字段进行排序

例子:

List<Student> students = new ArrayList<>();
         
students.add(new Student("abc", 12.124));
students.add(new Student("bcd", 20.214));
students.add(new Student("cde", 17.321));
//自定义从小到大排序
students.sort((x, y) -> Double.compare(x.getAge(), y.getAge()));
//这方法需要jdk1.8以上
         

排序Type集合,要根据分类的博客数量,可以用x.getBlogs().size(),默认是从小到大排序,要从大到小排序的话 x,y交换一下位置就行了:

//给type列表按照博客数量进行从大到小排序
typeList.sort((x,y)-> 
	Integer.compare(y.getBlogs().size(),x.getBlogs().size()));

源码:
在这里插入图片描述
就解决问题了。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值