Arraylist对含有String类型的自定义Lessn类进行排序
时间: 2023-08-18 14:38:32 浏览: 57
要对一个 ArrayList 包含的自定义 Lesson 类型进行排序,需要满足两个条件:一是 Lesson 类必须实现 Comparable 接口,二是要使用 Collections.sort 方法进行排序。
首先,在 Lesson 类中实现 Comparable 接口,重写 compareTo 方法:
```java
public class Lesson implements Comparable<Lesson> {
private String name;
private int duration;
public Lesson(String name, int duration) {
this.name = name;
this.duration = duration;
}
public String getName() {
return name;
}
public int getDuration() {
return duration;
}
@Override
public int compareTo(Lesson o) {
return this.name.compareTo(o.name); // 按照课程名称排序
}
}
```
然后,在需要排序的 ArrayList 中使用 Collections.sort 方法进行排序:
```java
ArrayList<Lesson> lessons = new ArrayList<>();
lessons.add(new Lesson("Math", 60));
lessons.add(new Lesson("English", 90));
lessons.add(new Lesson("History", 120));
Collections.sort(lessons); // 按照 Lesson 类中定义的 compareTo 方法排序
for (Lesson lesson : lessons) {
System.out.println(lesson.getName() + " " + lesson.getDuration());
}
```
上述代码会按照课程名称进行排序并输出结果。如果需要按照其他条件排序,只需在 compareTo 方法中修改比较的逻辑即可。
相关推荐
![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)