1.降序:
ArrayList<Integer> list=new ArrayList<>();
list.add(3);list.add(1);list.add(4);list.add(-1);
//降序排列
list.sort((x,y)->y-x);
2.升序:
ArrayList<Integer> list=new ArrayList<>();
list.add(3);list.add(1);list.add(4);list.add(-1);
//升序排列
list.sort((x,y)->x-y);
3.根据对象属性排序:
@Data
public class DemoSort{
private Integer sort1;
private Double sort2;
}
ArrayList<DemoSort> list=new ArrayList<>();
DemoSort s1 = new DemoSort();
s1.setSort1(1);
s1.setSort2(1.0);
DemoSort s2 = new DemoSort();
s2.setSort1(1);
s2.setSort2(2.0);
DemoSort s3 = new DemoSort();
s3.setSort1(1);
s3.setSort2(3.0);
//Integer排序
list.add(s3);list.add(s1);list.add(s2);
//升序排列
list.sort((x,y)->x.getSort1()-y.getSort1());
//降序排列
list.sort((y,x)->x.getSort1()-y.getSort1());
//Double排序
//升序排列
list.sort((x,y)->(x.getSort2()-y.getSort2()>0.0)?1:(x.getSort2()-y.getSort2()<0.0)?-1:0));
//降序排列
list.sort((y,x)->(x.getSort2()-y.getSort2()>0.0)?1:(x.getSort2()-y.getSort2()<0.0)?-1:0));