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)]