2016-05-03 19 views
-3

Ich habe eine Liste von Objekten, die von einer Factory-Klasse erstellt werden und vorerst möchte ich die Listengröße auf 10 Objekte beschränken. Ich muss auch die Liste durch das Programm führen, da mehrere Klassen auf ihre Werte verweisen. Ich möchte es nicht als Singleton erschaffen und bin nicht glücklich darüber, dass eine Meisterklasse es aufrechterhält. Gibt es einen anderen Weg? (Best Practice)Der beste Weg, um eine Liste in Java zu pflegen

+0

Wenn die Werte in Ihren Listen konstant sind, können Sie Enums verwenden. – Bajal

+0

Die Liste enthält Standortdaten und andere Daten, die einen Bereich beschreiben. Daher können sich die Werte ändern. Da die Liste auf eine Größe von 10 begrenzt ist, werden bei der Erstellung eines neuen Bereichs alte Daten in der Liste durch die neuen Daten ersetzt. – Stuperfied

Antwort

0

Für die maximale Größe Einstellung, die Sie zu diesem Beitrag finden Sie hier Any way to set max size of a collection?

Nicht sicher, was Sie unter „Aufrechterhaltung“ der Liste bedeuten, though. Es gibt keine Möglichkeit (die ich kenne), diese Liste allen Klassen zugänglich zu machen, ohne sie in einer "Meisterklasse" zu haben. Die einzige andere Möglichkeit besteht darin, sie durch Funktionen zu leiten.

+0

Das ist, was ich dachte, aber eine Meisterklasse ist schlechtes Design und Übergabe der Liste bricht Kapselung. Als Nebenbemerkung, was passiert, wenn das Programm versucht, einen Wert nach dem Höchstwert der Liste zuzuweisen? Ignoriere das, ich lese weiter in den Link den du zur Verfügung gestellt hast. – Stuperfied

+0

Wenn Ihre Anwendung immer nur eine einzige Liste von Standorten hat, dann ist nichts falsch daran, eine Singleton-Manager-Klasse zu erstellen, die aus dieser Liste hinzufügen/löschen kann. Auf diese Weise kann der Manager bei Bedarf auch die Größe der Liste begrenzen und zu alte Elemente entfernen. –

Verwandte Themen