Ich möchte für ein Programm eine Art Datenbank haben die für bestimmte chemische Element eine beliebige Anzahl an Verbindungen enthält, die dieses Element enthalten.
Also zB für Magnesium (Mg) sollen MgCO3, MgO, MgC2O4 gelistet sein und für Natrium (Na) sollen NaCl, NaCO3 usw aufgelistet sein. Keine Verbindung soll mehr als einem Element zugeordnet sein. Ich hoffe die Struktur ist auch für Nicht-Chemiker verständlich?
Auf Autos übertragen: Für eine bestimmte Anzahl an Autoherstellern sollen unterschiedliche Anzahlen an Modellen gespeichert werden. Es soll möglich sein auf die Modelle in Abhängigkeit vom Hersteller zuzugreifen. Also eine Anfrage nach "Mercedes" gäbe "E-Klasse", "S-Klasse" usw zurück.
Insgesamt geht es um vielleicht 10 chem. Elemente mit insgesamt 30 Verbindungen die ihnen zugeordnet sind. Eine externe Datenbank wäre daher vermutlich überdimensioniert.
Die erste Möglichkeit die mir einfiel wäre ein String[anzahlChemElemente][] in dem die Verbindungen nach Ordnungszahl ihrer zugehörigen chem. Elemente sortiert sind. Also in der Art
. Das hätte aber den Nachteil dass viele Felder leer sind, nämlich da wo es zu einem chem. Element keine Verbindungen gibt. Der Vorteil wäre der einfache Zugriff, da ich eh eine Methode habe die zu einem chem. Element die Ordnungszahl liefert.
Eine andere Möglichkeit wäre es die Verbindungen unsortiert in einem String[][] zu verpacken und die passende Position in einem zweiten Array zu speichern. Dann müsste man bei jedem Zugriff zunächst in einem Index-Array die Position suchen um dann auf verbindungen[idxGesuchtesElement][x] zugreifen zu können. Bei etwa 10 Elementen auch kein großer Aufwand und in einer Methode gut zu verpacken.
Aber vielleicht gibt es ja noch eine bessere, einfacher zu verwaltende Lösung? Vor allem falls später mal weitere Verbindungen hinzugefügt werden sollen.
Also zB für Magnesium (Mg) sollen MgCO3, MgO, MgC2O4 gelistet sein und für Natrium (Na) sollen NaCl, NaCO3 usw aufgelistet sein. Keine Verbindung soll mehr als einem Element zugeordnet sein. Ich hoffe die Struktur ist auch für Nicht-Chemiker verständlich?
Auf Autos übertragen: Für eine bestimmte Anzahl an Autoherstellern sollen unterschiedliche Anzahlen an Modellen gespeichert werden. Es soll möglich sein auf die Modelle in Abhängigkeit vom Hersteller zuzugreifen. Also eine Anfrage nach "Mercedes" gäbe "E-Klasse", "S-Klasse" usw zurück.
Insgesamt geht es um vielleicht 10 chem. Elemente mit insgesamt 30 Verbindungen die ihnen zugeordnet sind. Eine externe Datenbank wäre daher vermutlich überdimensioniert.
Die erste Möglichkeit die mir einfiel wäre ein String[anzahlChemElemente][] in dem die Verbindungen nach Ordnungszahl ihrer zugehörigen chem. Elemente sortiert sind. Also in der Art
Code:
{ { }, { }, ... ,{ NaCl, NaCO3 }, ... , { MgCO3, MgO, MgC2O4 }, ... }
Eine andere Möglichkeit wäre es die Verbindungen unsortiert in einem String[][] zu verpacken und die passende Position in einem zweiten Array zu speichern. Dann müsste man bei jedem Zugriff zunächst in einem Index-Array die Position suchen um dann auf verbindungen[idxGesuchtesElement][x] zugreifen zu können. Bei etwa 10 Elementen auch kein großer Aufwand und in einer Methode gut zu verpacken.
Aber vielleicht gibt es ja noch eine bessere, einfacher zu verwaltende Lösung? Vor allem falls später mal weitere Verbindungen hinzugefügt werden sollen.