之前在开发的过程中遇到调用Dao,返回一个list集合,需要对list进行排序,排序的标准假如是bean.creatTime(),在从数据库中查询的时候,可以再sql语句中加一个 order by creat_time ,
但是现在很流行的微服务架构,你的需求需要依赖其他的微服务数据时,可能需要我们自己处理我们收到的数据,这个时候就需要使用Comparable.
Comparable是一个interface,他是java1.2就已经提出了,其实这是java攻城狮必会的基础。使用起来也很简单。

public class UserInfoVo implements Comparable<UserInfoVo>{
  private Long id;
  private String name;
  private Long creatTime;
  //省略若干代码。。。
  @Override
    public int compareTo(Userinfo o) {
        return this.getCreatTime().compareTo(o.getCreatTime());
    }

这里要重写Comparable<>中的compareTo()方法,设置排序标准

List<UserInfo> userInfoList = new ......
userInfoList.add(userList1);
userInfoList.add(userList2);
Collections.sort(userInfoList);
//只要是实现了这个接口的类,都可以用Collections.sort直接排序

菜鸡拙见,轻喷

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐