Teilen Sie HashSet mit, wie die Daten sortiert werden sollen
Ich versuche, ein HashSet (oder einen Sammlungs-Typ - aber ich denke, HashSet passt am besten zu mir) zu erstellen, das in der Reihenfolge bleibt, egal was eingefügt wird. Es ist für ein Kontakt-Manager-Projekt, an dem ich arbeite. Ich habe mit dem folgenden Beispiel experimentiert.
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);
}
}
Ich habe erwartet, dass die Ausgabe die Namen in alphabetischer Reihenfolge anzeigt - zumindest nach Vor- oder Nachnamen. Ich kann jedoch nicht einmal die Methode erkennen, mit der HashSet diese Reihenfolge festgelegt hat.
[Jason Kenney, Rona Ambrose, Stephen Harper, Peter MacKay]
Meine Frage ist, wie kann ich meinem Programm mitteilen, wie die Namen anhand meiner Spezifikationen sortiert werden sollen?