java list.sort 实体类的某个属性排序
时间: 2023-09-23 10:09:18 浏览: 55
要按照实体类的某个属性进行排序,你需要使用Java 8引入的Comparator接口来实现自定义排序逻辑。以下是一个示例代码:
假设有一个实体类Person,有两个属性name和age。我们要按照age属性进行排序。
```java
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Person> personList = new ArrayList<>();
personList.add(new Person("John", 25));
personList.add(new Person("Alice", 30));
personList.add(new Person("Bob", 20));
// 使用Comparator接口实现自定义排序逻辑
personList.sort(Comparator.comparingInt(Person::getAge));
// 打印排序后的结果
for (Person person : personList) {
System.out.println(person.getName() + " - " + person.getAge());
}
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
输出结果:
```
Bob - 20
John - 25
Alice - 30
```
在这个示例中,我们使用了Comparator.comparingInt()方法来创建一个比较器,指定按照Person对象的age属性进行排序。然后使用List的sort()方法传入这个比较器进行排序。最后打印排序后的结果。
你可以根据自己的需要修改实体类的属性和排序逻辑。