Java: Der beste Weg, um eine Liste von Objekten zu speichern und darauf zuzugreifen

7

Ich möchte einige Instanzen meiner Klasse in einer Liste speichern und eine bestimmte Instanz aus dieser Liste abrufen.

Dies ist ein Beispiel für eine benutzerdefinierte Klasse

%Vor%

Und das ist der Code, den ich momentan verwende, um eine der Instanzen auf der Liste zu bekommen, also auf der Hauptklasse.

%Vor%

Meine Frage ist, ob es andere Möglichkeiten gibt, dies zu schreiben, um die Leistung zu erhöhen.

    
user2605421 26.09.2013, 19:42
quelle

3 Antworten

14

Verwenden Sie eine Map, deren Schlüssel die Namen sind und deren Werte die Personen sind.

    
Eric Stein 26.09.2013, 19:44
quelle
3

HashMap unterscheidet zwischen Groß- und Kleinschreibung. Wenn Sie nach Groß- und Kleinschreibung suchen möchten, können Sie eine TreeMap verwenden. Mein Beispiel zeigt, dass sich Personen mit demselben Namen (ohne Berücksichtigung der Groß- / Kleinschreibung) gegenseitig überschreiben.

%Vor%     
Mike Clark 26.09.2013 19:59
quelle
1

Wie Eric erwähnt, sollten Sie eine HashMap verwenden, die Begründung dafür ist, dass Sie Daten sehr schnell nachschlagen und hinzufügen können (im Durchschnitt).

Hier ist ein Codebeispiel für die Verwendung von HashMap mit Person.name als Schlüssel, wobei davon ausgeht, dass es nie eine Person mit demselben Namen gibt.

%Vor%     
Daniel Imms 26.09.2013 19:50
quelle

Tags und Links