Java list集合中对象根据指定的固定的顺序进行排序
时间: 2024-01-22 17:17:28 浏览: 133
要对Java List集合中的对象根据指定的固定顺序进行排序,可以使用Java中的Comparator接口。Comparator接口允许您定义自己的比较器,以便按照特定顺序对对象进行排序。
以下是一个示例代码,演示如何使用Comparator对List集合中的对象按照指定的顺序进行排序:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
// 创建一个Person对象的List集合
List<Person> persons = new ArrayList<>();
persons.add(new Person("Tom", 20));
persons.add(new Person("Jack", 25));
persons.add(new Person("Mary", 22));
persons.add(new Person("Lucy", 21));
// 创建一个Comparator对象,按照指定顺序进行排序
Comparator<Person> comparator = new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o1.getName().compareTo(o2.getName()); // 按照姓名升序排序
// return o2.getAge() - o1.getAge(); // 按照年龄降序排序
}
};
// 使用Collections.sort方法对List集合进行排序
Collections.sort(persons, comparator);
// 输出排序后的结果
for (Person person : persons) {
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 void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
```
在上面的代码中,我们创建了一个Person对象的List集合,并创建了一个Comparator对象,按照指定的顺序排序。然后使用Collections.sort方法对List集合进行排序,最后输出排序后的结果。
注意:在Comparator对象的compare方法中,必须返回一个整数值,表示两个对象之间的大小关系。如果返回值为负数,则表示第一个对象小于第二个对象;如果返回值为正数,则表示第一个对象大于第二个对象;如果返回值为0,则表示两个对象相等。
阅读全文