java8 中 使用sort 排序的列子。
基礎類
@Data
@ToString
public class Persion {
private String name;
private Integer age;
public Persion(String name, Integer age) {
this.name = name;
this.age = age;
}
}
初始化 list
List<Persion> persions = Lists.newArrayList ();
persions.add (new Persion ("lucy",12));
persions.add (new Persion ("river",20));
persions.add (new Persion ("frank",5));
lis t中的數據 按照 persion 的年齡 升序排列
persions.sort(Comparator.comparing(Persion::getAge));
System.out.println(persions);
輸出結果
[Persion(name=frank, age=5), Persion(name=lucy, age=12), Persion(name=river, age=20)]
按照 persion 的年齡降序排列
persions.sort(Comparator.comparing(Persion::getAge).reversed());
System.out.println(persions);
輸出結果
[Persion(name=river, age=20), Persion(name=lucy, age=12), Persion(name=frank, age=5)]
可以自己寫排序的策略
persions.sort((t1,t2)->{
if(t1.getAge() > t2.getAge()){
return -1;
}
return 1;
});
輸出結果
[Persion(name=river, age=20), Persion(name=lucy, age=12), Persion(name=frank, age=5)]