gpt4 book ai didi

java - Java中自定义对象的数组排序

转载 作者:行者123 更新时间:2023-12-01 22:02:55 24 4
gpt4 key购买 nike

我正在尝试按从最小到最大值的顺序对项目结束时间进行排序。

我创建了一个名为 Project 的自定义对象列表,并尝试根据访问器返回的值对它们进行排序。我已经重载了比较函数并收到错误:

The method sort(List, Comparator) in the type Collections is not applicable for the arguments (Project[], new Comparator(){})

我的主要代码如下所示,感谢任何和所有帮助。

Collections.sort(projectList, new Comparator< Project>(){

@Override
public int compare(Project project1, Project project2)
{
return compareProjects(project1, project2);}
}
);

public static int compareProjects(Project project1, Project project2)
{
if (project1.getEndTime() > project2.getEndTime())
return 1;
else
return 0;
}

和我的项目类:

public Project(int projectNum, int start, int end)
{
this.projectNum = projectNum;
this.start = start;
this.end = end;
this.length = end - start;
}

public static int getEndTime()
{
return end;
}

最佳答案

Collections.sort operates on a List, and Arrays.sort operates on an array

需要更改Project.class,实现Comparable接口(interface)

class Project implements Comparable<Project> {

@Override
public int compareTo(Project o) {
if (this.getEndTime() > o.getEndTime())
return 1;
else
return 0;
}
}

然后在你的main.class

Arrays.sort(projectList);

关于java - Java中自定义对象的数组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33428901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com