Ich habe zu speichern, dauerhaft (oder zumindest bis zum nächsten Ausführung), eine Tabelle wie:Welche Datenstruktur sollte ich verwenden? Hashtabelle, Array ...?
| ID | Color |
|------|---------|
| 0001 | Red |
| 0002 | Blue |
| 0003 | Green |
Ich dachte, es in einer XML-Datei extern zu speichern, aber ich weiß nicht, welche Strukturdaten soll ich Verwenden Sie intern, um auf diese Daten zuzugreifen, da ich eine Art iteratives Element haben möchte, aber schnell und einfach darauf zugreifen und in eine externe XML-Datei speichern kann. Wenn ich eine neue Beziehung hinzufügen möchte, muss die ID 0004
lauten.
Ich meine, sollte ich Hashtable, DataTable, Array ... verwenden? Sollte ich den Weg ändern, diese Beziehungen zu exportieren, oder ist der beste (einfache und schnelle) Weg, sie in eine XML-Datei zu exportieren?
Bitte beachten Sie, dass der Datentyp, den Sie zum Speichern einer Sammlung von Elementen verwenden, sich auf Ihre Laufzeitanforderungen bezieht (mindestens Leistung, Speichernutzung und Verwendungsmuster - Einfügen/Löschen/Suchgeschwindigkeit). Sie müssen nicht dieselbe Struktur beibehalten, wenn Sie Daten persistent machen (z. B. kann eine Hashtabelle einfach als Massensatz von Knoten gespeichert werden). Speicheranforderungen sind eine andere Geschichte mit unterschiedlichen Möglichkeiten: Müssen Sie diese Datei manuell bearbeiten? Verwenden Sie es als Austauschformat? Es muss besonders klein sein? Müssen Sie mit der Versionsverwaltung umgehen? –
Was ist mit einer Liste? Die ID kann nur der Listenindex sein. Es gibt zu wenig Informationen darüber, was Sie eigentlich mit diesen Daten machen müssen, was die ID bedeutet, wie Sie darauf zugreifen, usw. Es ist jedoch wahrscheinlich sowieso auf der Grundlage von Meinungen. –
ID-Sache _kann etwas trickreicher sein, weil Sie nicht einfach die Anzahl der Elemente in der Sammlung verwenden können, um die nächste ID zu kennen (außer Sie verbieten Löschungen). Wie man die nächste ID bekommt, kann so einfach sein wie eine Abfrage, um die aktuell verwendete zu finden (wenn Nebenläufigkeit und Geschwindigkeit/Sammlungsgröße kein Problem sind), sonst müssen Sie _next ID_ (oder die letzte ...) irgendwo speichern (eventuell behalten) thread-safe) –