java 对象属性实现字典排序
时间: 2024-05-03 18:19:19 浏览: 12
要实现字典排序,需要让对象属性实现 `Comparable` 接口,并重写 `compareTo` 方法。下面是一个示例:
```java
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 other) {
// 先比较名字
int cmp = name.compareTo(other.getName());
if (cmp != 0) {
return cmp;
}
// 如果名字相同,再比较年龄
return Integer.compare(age, other.getAge());
}
}
```
在 `compareTo` 方法中,先比较名字的字典序,如果名字相同再比较年龄大小。这样就可以实现按字典序排序了。
对于一个对象数组,可以使用 `Arrays.sort` 方法进行排序:
```java
Person[] people = new Person[] {
new Person("Alice", 20),
new Person("Bob", 25),
new Person("Charlie", 18),
};
Arrays.sort(people);
```
这样就可以将 `people` 数组按照字典序排序了。