Arraylist对含有String类型的自定义Lessn类进行排序
时间: 2023-08-18 10:38:32 浏览: 40
可以使用Java的Collections.sort()方法来对ArrayList进行排序。首先,需要保证自定义的Lesson类实现了Comparable接口,并重写了compareTo()方法来定义比较规则。然后,使用Collections.sort()方法并传入ArrayList和Comparator对象,其中Comparator对象可以使用匿名内部类来实现。
示例代码如下:
```
public class Lesson implements Comparable<Lesson> {
private String name;
private int duration;
// 构造方法和getter/setter方法省略
@Override
public int compareTo(Lesson other) {
// 按照课程时长从小到大排序
return this.duration - other.duration;
}
}
// 在其他类中使用
ArrayList<Lesson> lessons = new ArrayList<>();
// 添加元素
// 按照自定义规则排序
Collections.sort(lessons, new Comparator<Lesson>() {
@Override
public int compare(Lesson lesson1, Lesson lesson2) {
// 按照课程名称从小到大排序
return lesson1.getName().compareTo(lesson2.getName());
}
});
```
以上示例代码中,我们按照课程时长从小到大排序,并且在排序过程中,我们按照课程名称从小到大排序来处理相同时长的课程。您可以根据自己的需求来修改排序规则。