Hallo,
Ich möchte in einer Liste Objekte speichern welche namentlich benannte reguläre Ausdrücke darstellen, d.h. die Klasse hat zwei String-Members name und regexp. Nun möchte ich verhindern dass Duplikate in der Liste vorkommen. Unter einem Duplikat verstehe ich in diesem Kontext: Gleicher name ODER gleiche regexp, da es ja keinen Sinn macht dasselbe Muster unter mehreren Namen oder verschiedene Muster mit gleichem Namen zu definieren.
Welche Collection würdet ihr in diesem Fall verwenden? Ich hab zunächst natürlich an ein Set gedacht, aber wie mach ich das mit dem Hashcode in diesem Fall? Die Gleichheit ist ja durch eine ODER Verknüpfung definiert.
Zur Zeit hab ich die Liste indirekt über eine ArrayList abgebildet wobei ich vor jedem add mit contains überprüfe ob das Element schon enthalten ist. Je nach Ergebnis gebe ich wie bei einem Set true oder false zurück. Funktioniert natürlich, aber vielleicht gibt's ja eine bessere Lösung.
Lg, Markus
Ich möchte in einer Liste Objekte speichern welche namentlich benannte reguläre Ausdrücke darstellen, d.h. die Klasse hat zwei String-Members name und regexp. Nun möchte ich verhindern dass Duplikate in der Liste vorkommen. Unter einem Duplikat verstehe ich in diesem Kontext: Gleicher name ODER gleiche regexp, da es ja keinen Sinn macht dasselbe Muster unter mehreren Namen oder verschiedene Muster mit gleichem Namen zu definieren.
Welche Collection würdet ihr in diesem Fall verwenden? Ich hab zunächst natürlich an ein Set gedacht, aber wie mach ich das mit dem Hashcode in diesem Fall? Die Gleichheit ist ja durch eine ODER Verknüpfung definiert.
Zur Zeit hab ich die Liste indirekt über eine ArrayList abgebildet wobei ich vor jedem add mit contains überprüfe ob das Element schon enthalten ist. Je nach Ergebnis gebe ich wie bei einem Set true oder false zurück. Funktioniert natürlich, aber vielleicht gibt's ja eine bessere Lösung.
Lg, Markus