Java List compareTo排序
时间: 2023-07-01 12:07:23 浏览: 117
Java中的List接口有一个sort方法用于排序,而要对List中的对象进行排序,则需要让对象实现Comparable接口,并重写其中的compareTo方法。
例如,我们有一个Person类:
```
public class Person implements Comparable<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;
}
@Override
public int compareTo(Person o) {
return this.age - o.age;
}
}
```
这个Person类实现了Comparable接口,并重写了其中的compareTo方法,比较两个Person对象的年龄大小。
接下来,我们可以创建一个List<Person>对象并填充数据:
```
List<Person> list = new ArrayList<>();
list.add(new Person("Tom", 20));
list.add(new Person("Jerry", 18));
list.add(new Person("Lucy", 25));
```
然后调用List的sort方法进行排序:
```
Collections.sort(list);
```
这样,list中的Person对象就按照年龄从小到大排序了。我们也可以通过传入Comparator对象来实现按照其他属性的排序。例如:
```
Collections.sort(list, new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o1.getName().compareTo(o2.getName());
}
});
```
这样,list中的Person对象就按照姓名从小到大排序了。
阅读全文
相关推荐
















