A
alex987
Gast
Hi Leute.
Ich muss viele tausend Objekte unsortiert in einer Liste oder ähnlichem speichern. Für den schnellen Lesezugriff bietet sich hier die Hashtable an. Nur ein Problem. In den Javadocs steht: "Note that the hash table is open: in the case of a "hash collision", a single bucket stores multiple entries, which must be searched sequentially."
Die put-Methode gibt bei einer Kollision zwar das Objekt zurück, was vorher mit diesem Key verknüpft war. Ist das dann aber noch drin oder damit raus aus der Hashtable? Sind dann 2 Objekte mit diesem Key verknüpft? Wie durchsuche ich die dann "sequentiell"? Die get-Methode gibt doch dann nur 1 Objekt zurück. Wie käme ich an das zweite?
Ich denke, mit put legt er das neue Objekt in die Table und verknüpft sie mit dem Key. Das alte Objekt fliegt aus der Tabelle und ich muss mich selber drum kümmern, wie ich die Kollision nun behandle. Richtig?
Ich muss viele tausend Objekte unsortiert in einer Liste oder ähnlichem speichern. Für den schnellen Lesezugriff bietet sich hier die Hashtable an. Nur ein Problem. In den Javadocs steht: "Note that the hash table is open: in the case of a "hash collision", a single bucket stores multiple entries, which must be searched sequentially."
Die put-Methode gibt bei einer Kollision zwar das Objekt zurück, was vorher mit diesem Key verknüpft war. Ist das dann aber noch drin oder damit raus aus der Hashtable? Sind dann 2 Objekte mit diesem Key verknüpft? Wie durchsuche ich die dann "sequentiell"? Die get-Methode gibt doch dann nur 1 Objekt zurück. Wie käme ich an das zweite?
Ich denke, mit put legt er das neue Objekt in die Table und verknüpft sie mit dem Key. Das alte Objekt fliegt aus der Tabelle und ich muss mich selber drum kümmern, wie ich die Kollision nun behandle. Richtig?