java list 按照多字段排序

list 排序涉及的接口 Comparator, 具体实现代码如下,以Apple类为例

 

public class Test{
  public static void main(String [] args){
     List<Apple> apples = new ArrayList<>(); Comparator<Apple> byName = Comparator.comparing(Apple::getName); Comparator<Apple> bySizeDesc = Comparator.comparing(Apple::getSize).reversed();
     // 先以名称升序排列,再按照size倒叙排列
     apples.sort(byName.thenComparing(bySizeDesc));   
  }
} @Data
public class Apple{ private String color; private String name; private Integer size;
}

 

posted @ 2019-04-01 21:07  wanglgg  阅读(9984)  评论(0编辑  收藏  举报