Я изучаю массивы, и в основном у меня есть массив, который собирает фамилию, имя и счет.
Мне нужно написать метод compareTo
, который будет сравнивать фамилию, а затем имя, чтобы список можно было отсортировать в алфавитном порядке, начиная с фамилий, а затем, если два человека имеют одинаковую фамилию затем он будет сортировать первое имя.
Я запутался, потому что вся информация в моей книге сравнивает числа, а не объекты и строки.
Вот что я пока закодировал. Я знаю, что это неправильно, но это, по крайней мере, объясняет, что я думаю, что делаю:
public int compare(Object obj) // creating a method to compare
{
Student s = (Student) obj; // creating a student object
// I guess here I'm telling it to compare the last names?
int studentCompare = this.lastName.compareTo(s.getLastName());
if (studentCompare != 0)
return studentCompare;
else
{
if (this.getLastName() < s.getLastName())
return - 1;
if (this.getLastName() > s.getLastName())
return 1;
}
return 0;
}
Я знаю, что символы <
и >
неверны, но, как я уже сказал, моя книга показывает только как использовать compareTo
.