当前位置: 首页 > 知识库问答 >
问题:

arrayList的排序元素有问题

吕越彬
2023-03-14

这几天我一直有麻烦,无法克服。我有一个arrayList存储。

public class Application {

Time startTime = new Time(hour,minute);
Time endTime = new Time((startTime.getHour()), (startTime.getMinute() + duration));
Event e1 = new Event("Lecture", title, startTime, endTime);

我想根据我的endTime对我的事件进行排序,我得到的问题是endTime基于startTime,它使用我的时间课程中的小时和分钟。当我试着使用compare to时,我感到困惑。我把它放在我的时间类中,但后来意识到它必须放在我的事件类中才能比较实例。如何使用compareTo来比较结束时间,以及如何输出排序。当我在我的事件中进行比较时,我得到了

The method sort(List<T>) in the type Collections is not applicable for the arguments (ArrayList<Event>)

            Collections.sort(events);

public Event(String type, String title, Time startTime, Time endTime) {
    this.type = type;
    this.title = title;
    this.startTime = startTime;
    this.endTime = endTime;
}

private int minute;

public Time(int hour, int minute) {
    this.minute = hour * 60 + minute;
}

我也可以扩展一个类,或者我必须实现它来使用comareTo

共有1个答案

山鸿彩
2023-03-14

如何使用comareTo比较endTimes,

您的事件类的compareTo方法将在您的Time类上调用compareTo方法,并将结果用作决定事件顺序的一部分。

以及如何输出排序。

一种方法是使用循环printprintln调用。

当我把compareTo放进我的事件中时,我得到了:“方法排序(列表)”

事件的类型声明为列表

顺便说一下,将comareTo放入事件中并不会导致这种情况。这是由另一个更改/另一个错误引起的。

我还可以扩展一个类,或者我必须实现它才能使用comareTo

任何需要可比较的类都需要“实现”作为类型参数的compariable接口;例如

public class Event implements Comparable<Event> {

然后需要提供compareTo方法的实现。

 类似资料:
  • 我是Java新手,目前正在为一个项目使用BlueJ。我在访问此类对象的ArrayList的ArrayList中的对象时遇到问题。假设我有一个学生对象: 然后是获取地址、月份、年份和等级的方法。然后我有一个类,它是学生对象的数组列表: 这个类包括添加学生对象、列出类中的所有学生(ListallStudentsInClass)的方法,该类返回学生的ArrayList、查找类中成绩最高的学生(getHi

  • 本文向大家介绍对arraylist中元素进行排序实例代码,包括了对arraylist中元素进行排序实例代码的使用技巧和注意事项,需要的朋友参考一下 rrayList中的元素进行排序,主要考查的是对util包中的Comparator接口和Collections类的使用。 实现Comparator接口必须实现compare方法,自己可以去看API帮助文档。 创建一个Comparator实例后,用Col

  • 问题内容: 我有一个家庭作业,需要在以下条件下插入或添加新元素: 元素必须 升序 。 中没有重复的 元素 insert方法运行 O(n) 次。 这是我在添加新元素之前检查重复元素的插入方法。 我该怎么做?谢谢。 加成 这是我的班级名称InSetExtra 我需要插入大尺寸的元素,例如: 我该怎么办? ps。我的教练只需要使用ArrayList 问题答案: 这是我的处理方式:(注释中的解释) 您发布

  • 问题内容: 我有一个数组列表 并且在arraylist中有很多类型的对象值,这些值都是不同的。其中一个值是也与该数组列表一起设置的项目等级。 现在,我想根据排名的顺序对数组列表进行排序。排名值已在此数组列表中设置。 我如何排序其中一个具有很多类型的值…的数组列表? 谢谢大家。 问题答案: 使它们都是一种类型的对象。设计一个通用的基类或一个 然后 用于整理它们 例如。 假设arraylist中的所有

  • 我有一个ArrayList of String。 在每个索引上的外部ArrayList中,每个内部ArrayList有四个项目,有四个参数。 联系人ID 联系人姓名 联系地址 联系号码 现在,我想根据Contact Name参数对的完整ArrayList进行排序。 意味着我要访问外部Arraylist,外部Arraylist的每个索引上存在的内部Arraylist应该根据联系人名称进行排序。 比较

  • 我创建了一个To-Do-List程序,记录用户输入的任务。对于每个任务,用户必须输入名称、日期等。 当用户从菜单中选择“5”时,程序会按这些任务的日期对它们进行排序。我需要根据任务的日期和时间的升序对所有任务进行排序,即日期和时间较早的任务会排在日期和时间较晚的任务之前,并显示排序后的列表。 然而,当我运行代码时,我会收到以下错误: 下面是我到目前为止的代码:(在底部)