用java代码写一个Person类,定义相关属性和方法,实现Comparable接口; 另写一个测试类,构造一个Person对象数组或列表,然后调用工具方法对其排序。
时间: 2024-05-15 15:14:42 浏览: 88
好的,我知道了。以下是Java代码实现:
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 otherPerson) {
return this.age - otherPerson.age;
}
}
```
测试类:
```
import java.util.ArrayList;
import java.util.Collections;
public class PersonSorter {
public static void main(String[] args) {
ArrayList<Person> people = new ArrayList<>();
people.add(new Person("Tom", 25));
people.add(new Person("Jerry", 30));
people.add(new Person("Mike", 18));
// 排序前
System.out.println("排序前:");
for (Person person : people) {
System.out.println(person.getName() + " - " + person.getAge());
}
// 排序
Collections.sort(people);
// 排序后
System.out.println("排序后:");
for (Person person : people) {
System.out.println(person.getName() + " - " + person.getAge());
}
}
}
```
该测试类利用了Java自带的Collections工具类的sort方法,第二个参数传入一个实现了Comparable接口的类的对象数组或列表,即可排序。这里我们将Person对象列表传参即可实现按照年龄进行排序。
阅读全文