Я пытаюсь сортировать конечные времена проекта от наименьших до наибольших значений.Сортировка массива пользовательского объекта в Java
Я создал список пользовательских объектов, называемых 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;
}
Вы можете просто использовать 'возвращения project1.getEndTime() - project2.getEndTime() '... но в чем вопрос? – MadProgrammer
[Это] (http://stackoverflow.com/questions/3699141/how-to-sort-an-array-of-ints-using-a-custom-comparator) может быть полезно – TheLostMind
'не применимо для аргументов (Project [], новый Comparator() {}) 'Я уверен, что ваш ответ прямо там. 'Project []' - это массив, а не список. – markspace