java Comparator实现按照姓名排序
时间: 2023-10-21 09:04:11 浏览: 102
你可以编写一个实现Java Comparator接口的类来按照姓名对对象进行排序。以下是一个示例代码片段:
```
import java.util.Comparator;
public 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 int getAge() {
return age;
}
}
// 按照姓名排序的Comparator
class NameComparator implements Comparator<Person> {
@Override
public int compare(Person a, Person b) {
return a.getName().compareTo(b.getName());
}
}
```
使用该Comparator可以按照姓名对Person对象进行排序,如下所示:
```
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Person> people = new ArrayList<>();
people.add(new Person("Lisa", 25));
people.add(new Person("Amy", 30));
people.add(new Person("Bob", 20));
// 使用NameComparator进行排序
Collections.sort(people, new NameComparator());
// 打印排序结果
for (Person p : people) {
System.out.println(p.getName() + " " + p.getAge());
}
}
}
```
输出结果为:
```
Amy 30
Bob 20
Lisa 25
```
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)