Informowanie HashSet, jak sortować dane
Próbuję stworzyć HashSet (lub dowolny typ kolekcji - ale myślę, że HashSet będzie mi najbardziej odpowiadał), który pozostanie w porządku bez względu na to, co zostanie wstawione. To dla projektu menedżera kontaktów, nad którym pracuję. Eksperymentowałem z poniższym przykładem.
import java.util.*;
public class TestDriver{
public static void main(String[] args)
{
FullName person1 = new FullName("Stephen", "Harper");
FullName person2 = new FullName("Jason", "Kenney");
FullName person3 = new FullName("Peter", "MacKay");
FullName person4 = new FullName("Rona", "Ambrose");
FullName person5 = new FullName("Rona", "Aabrose");
HashSet<FullName> names = new HashSet<FullName>();
names.add(person3);
names.add(person1);
names.add(person4);
names.add(person2);
System.out.println(names);
}
}
Spodziewałem się, że wyjście umieści nazwy w porządku alfabetycznym - przynajmniej według ich imienia lub nazwiska. Jednak nie mogę nawet rozpoznać metody, którą HashSet użył, aby wymyślić to zamówienie;
[Jason Kenney, Rona Ambrose, Stephen Harper, Peter MacKay]
Moje pytanie brzmi: jak mam powiedzieć programowi, jak sortować nazwy według moich specyfikacji?