java list 两个字段排序
时间: 2023-08-21 15:01:51 浏览: 95
List对象去重和按照某个字段排序的实现方法
可以使用Java8的Comparator来实现对List中的对象按照两个字段进行排序。
假设有一个对象Person,其中包含两个字段name和age,现在需要按照name升序排列,如果name相同则按照age降序排列。可以使用如下代码:
```
List<Person> list = new ArrayList<>();
// 添加Person对象到list中
// 按照name升序排序,如果name相同则按照age降序排序
list.sort(Comparator.comparing(Person::getName)
.thenComparing(Comparator.comparing(Person::getAge).reversed()));
```
其中,Comparator.comparing(Person::getName)表示按照name升序排序,thenComparing()方法表示如果name相同则按照后面的Comparator进行排序,Comparator.comparing(Person::getAge).reversed()表示按照age降序排序。
这样,list中的Person对象就按照name升序排列,如果name相同则按照age降序排列了。
阅读全文