Ich benötige eine Collection, die bis zu rund 500.000 Objekte beinhalten muss. Aus dieser muss ich sehr schnell ermitteln können, ob ein gleiches Objekt bereits darin existiert und wenn, dann muss genau dieses schnell zurückgegeben werden können. "Gleiches Objekt" bedeutet hier nicht, dass es tatsächlich die selbe Instanz ist (sprich die selbe Referenz), sondern wenn eine Eigenschaft übereinstimmt. Diese Eigenschaft besteht aus 9 einstelligen Integer-Werten (also jeweils nur 0 bis 9).
Wenn ich nun ein HashSet benutze, kann ich als Hash-Wert ja eine 9-stellige Zahl nehmen (die einzelnen Eigenschaftswerte hintereiannder). Blöderweise kann ich damit zwar sehr schnell ermitteln, OB das Objekt enthalten ist, aber ich kann es mir ja nicht ausgeben lassen (denn ich brauche noch eine weitere Eigenschaft, die ich dann daraus herauslesen muss, die aber nichts mit den anderen 9 Integer-Werten zu tun hat).
Welche Collection kann also schnell prüfen, ob ein Objekt enhalten ist und es schnell mit get(...) bekommen?
Wenn ich nun ein HashSet benutze, kann ich als Hash-Wert ja eine 9-stellige Zahl nehmen (die einzelnen Eigenschaftswerte hintereiannder). Blöderweise kann ich damit zwar sehr schnell ermitteln, OB das Objekt enthalten ist, aber ich kann es mir ja nicht ausgeben lassen (denn ich brauche noch eine weitere Eigenschaft, die ich dann daraus herauslesen muss, die aber nichts mit den anderen 9 Integer-Werten zu tun hat).
Welche Collection kann also schnell prüfen, ob ein Objekt enhalten ist und es schnell mit get(...) bekommen?