Я не думаю, что это лучший способ выразить это название, но я не могу придумать лучшего способа сформулировать это слово. Вот моя проблема: мне нужно написать метод, который сравнивает несколько разных способов. Если фамилии совпадают, мне нужно сравнить по имени. Если имена совпадают, то мне нужно отсортировать по разделам. Какой способ сортировки структуры данных в этой иерархии был бы наиболее эффективным? Вот что у меня сейчас есть, и я думаю, что понимаю, почему это не работает, но я не могу придумать другой способ написать эту функцию:
//Student class structure, each field has a public get/set method
public class Student implements Comparable<Student>
{
private String fname;
private String lname;
private int section;
}
//My current compareTo method
@Override
public int compareTo(Student s)
{
/*
-compare by last name
-if the same, compare by first name
-if the same, compare by section
*/
String slast = s.getLastName();
if(lname.compareTo(slast) == 0)
{
String sfirst = s.getFirstName();
if(fname.compareTo(sfirst) == 0)
{
int sclass = s.getSection();
return Integer.compare(section, sclass);
}
else
{
return fname.compareTo(sfirst);
}
}
else
{
return lname.compareTo(slast);
}
}