java list集合按照集合中对象的制定属性排序
时间: 2023-09-07 11:14:06 浏览: 71
在 Java 中,可以使用 `Collections.sort()` 方法对 List 集合中的对象按照指定属性排序。
假设有一个 Person 类,其中包含姓名(name)、年龄(age)和性别(gender)三个属性,我们希望按照年龄从小到大排序,则可以按照以下步骤操作:
1. 定义一个 Comparator 对象,实现 `compare()` 方法,用于指定按照哪个属性排序。比如,按照年龄排序的 Comparator 对象的实现如下:
```
class AgeComparator implements Comparator<Person> {
@Override
public int compare(Person p1, Person p2) {
return p1.getAge() - p2.getAge();
}
}
```
2. 创建 List 对象,并向其中添加多个 Person 实例。
```
List<Person> personList = new ArrayList<>();
personList.add(new Person("张三", 20, "男"));
personList.add(new Person("李四", 18, "女"));
personList.add(new Person("王五", 22, "男"));
```
3. 使用 `Collections.sort()` 方法,传入 List 对象和 Comparator 对象,完成排序。
```
Collections.sort(personList, new AgeComparator());
```
排序完成后,personList 中的元素将按照年龄从小到大排列。
如果需要按照其他属性排序,只需要定义对应的 Comparator 对象即可。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)
![](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)