20. 如何实现对List集合的排序() A. 使用Collections的sort方法 B. 使用List集合自身的sort方法 C. 使用List集合的forEach方法 D. 使用Collections的reverse方法
时间: 2024-05-01 22:23:07 浏览: 18
A. 使用Collections的sort方法可以对List集合进行排序。使用方法如下:
```java
List<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(4);
list.add(2);
Collections.sort(list); // 对list进行升序排序
System.out.println(list); // 输出 [1, 2, 3, 4]
```
如果需要对List集合进行降序排序,可以使用Collections的reverseOrder方法:
```java
Collections.sort(list, Collections.reverseOrder()); // 对list进行降序排序
System.out.println(list); // 输出 [4, 3, 2, 1]
```
需要注意的是,List集合中存储的对象必须实现Comparable接口,否则会抛出ClassCastException异常。可以通过传入Comparator对象来进行自定义排序,例如:
```java
List<Person> list = new ArrayList<>();
list.add(new Person("Tom", 20));
list.add(new Person("Jerry", 18));
list.add(new Person("Alice", 22));
Collections.sort(list, new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o1.getAge() - o2.getAge(); // 按年龄升序排序
}
});
System.out.println(list); // 输出 [Person{name='Jerry', age=18}, Person{name='Tom', age=20}, Person{name='Alice', age=22}]
```
这里的Person类需要实现Comparable接口或者传入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)