java中List按照某个字段排序
时间: 2023-10-18 16:12:03 浏览: 168
在Java中可以使用`Collections.sort()`方法对List进行排序,可以通过传递一个Comparator对象来指定排序规则。下面是一个按照某个字段排序的示例代码:
假设有一个Person类,其中有name和age两个属性,现在要按照age字段进行排序。
```java
public class Person {
private String name;
private int age;
// 构造方法和getter/setter略
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
List<Person> personList = new ArrayList<>();
personList.add(new Person("Tom", 20));
personList.add(new Person("Jerry", 18));
personList.add(new Person("Alice", 22));
// 按照age字段进行升序排序
Collections.sort(personList, new Comparator<Person>() {
@Override
public int compare(Person p1, Person p2) {
return p1.getAge() - p2.getAge();
}
});
// 输出排序结果
for (Person person : personList) {
System.out.println(person);
}
```
输出结果为:
```
Person [name=Jerry, age=18]
Person [name=Tom, age=20]
Person [name=Alice, age=22]
```
如果要按照age字段进行降序排序,可以将比较器中的返回值改为`p2.getAge() - p1.getAge()`。
阅读全文