Вы должны реализовать сопоставимый интерфейс
implements Comparable
метод, который делает работа является
public int compareTo(Object obj)
{
}
Пожалуйста, обратите внимание, что объект часто заменяются полностью на типа из-за общий синтаксис который может быть использован в заявке на выполнение (показано ниже).
Полный пример here in the tutorial docs надеюсь, что это помогает
Полный пример (взять по ссылке выше выглядит следующим образом), я добавил это только в том случае, ссылка идет мертвым в какой-то момент
import java.util.*;
public class Name implements Comparable<Name> {
private final String firstName, lastName;
public Name(String firstName, String lastName) {
if (firstName == null || lastName == null)
throw new NullPointerException();
this.firstName = firstName;
this.lastName = lastName;
}
public String firstName() { return firstName; }
public String lastName() { return lastName; }
public boolean equals(Object o) {
if (o == null || !(o instanceof Name))
return false;
Name n = (Name) o;
return n.firstName.equals(firstName) && n.lastName.equals(lastName);
}
public int hashCode() {
return 31*firstName.hashCode() + lastName.hashCode();
}
public String toString() {
return firstName + " " + lastName;
}
public int compareTo(Name n) {
int lastCmp = lastName.compareTo(n.lastName);
return (lastCmp != 0 ? lastCmp : firstName.compareTo(n.firstName));
}
}
клиентский код из статьи:
import java.util.*;
public class NameSort {
public static void main(String[] args) {
Name nameArray[] = {
new Name("John", "Smith"),
new Name("Karl", "Ng"),
new Name("Jeff", "Smith"),
new Name("Tom", "Rich")
};
List<Name> names = Arrays.asList(nameArray);
Collections.sort(names);
System.out.println(names);
}
}
ли ваш профессор хочет вам реализовать сортировочный алгоритм самостоятельно? –
то, что @joncarl говорит, является хорошим моментом, если вам нужно смотреть на bubblesort (его довольно легко реализовать, но не так быстро) –
Да, я буду реализовывать сортировку сортировки. – user1253201