Ich muss eine n: m-Beziehung in Java implementieren. Der Anwendungsfall ist ein Katalog.Wie man n: m Beziehung in Java einführt?
- kann ein Produkt in mehreren Kategorien sein
- eine Kategorie mehrere Produkte
Meine aktuelle Lösung halten kann, ist eine Zuordnung Klasse zu haben, die zwei Hashmaps hat.
- Der Schlüssel des ersten hashmap ist die Produkt-ID und der Wert ist eine Liste der Kategorie ids
- Der Schlüssel zu der zweiten hashmap ist die Kategorie-ID und der Wert ist eine Liste des Produkt-IDs
das ist völlig überflüssig ein ich brauche eine Einstellung Klasse, die immer dafür sorgt, dass die Daten gespeichert werden/in beiden Hashmaps gelöscht.
Aber das ist der einzige Weg, ich folgendes performant in O (1) machen gefunden:
- welche Produkte eine Kategorie hält?
- In welchen Kategorien ist ein Produkt enthalten?
Ich möchte vollständige Array-Scans oder etwas in jeder Hinsicht zu vermeiden.
Aber es muss eine andere, elegantere Lösung sein, wo ich nicht zweimal die Daten zum Index benötigen.
Bitte en-Licht mir. Ich habe nur einfaches Java, keine Datenbank oder SQLite oder etwas verfügbares. Ich möchte auch nicht wirklich eine btree-Struktur implementieren, wenn möglich.
danke, ich werde tatsächlich bei meiner Implementierung bleiben, aber werde die andere Antwort akzeptieren, weil es besser zu der Frage einer "eleganteren" Lösung passt, was auch immer elegant ist ... –