Hashtable und Vektor

Status
Nicht offen für weitere Antworten.

Tux

Aktives Mitglied
Hallo!

Hab mal ein kleine Frage. Und zwar habe ich mir aus einer Mysql-Datenbank per Query was geholt und es in ein Hashtable verpackt. Bis dahin ist alles noch ok. Die Daten werden in einer Schleife in den Hashtable gepackt und danach wird der Hashtable in einen Vektor verpackt und der nächste Satz /die nächste Zeile wieder zuerst in den Hashtable und dann in den Vektor usw. Mein Problem besteht jetzt darin, dass nach dem ersten Einfügen des Hashtables in den Vektor, der vorherige Satz im Vektor überschrieben wird vom aktuellen und der aktuelle nochmal hintendran gehängt wird. Weiss jemand wie ich das Überschreiben verhindern kann? Thx für die Hilfe!

Gruss
Stefan

PS:Hier noch ein Codeschnipsel dazu:

h ist mein Hashtable und v mein Vektor

Code:
ResultSet daten = stmt.executeQuery(temp);

      while (daten.next()) {
        h.put("task", daten.getString("task"));
        h.put("projectTree", daten.getString("projectTree"));
        h.put("timestamp", daten.getString("timestamp"));
        h.put("comment", daten.getString("comment"));
        v.add(h);
      }
 
das alte Referenz Problem :lol:
du arbeitest immer mit der selben Referenz. D.h. da es schon einen Wert zu dem Schlüssel gibt wird dieser überschrieben ---> du musst immer eine Instanz der Hashtable erzeugen ...
 
Jedesmal eine neue Hashtable machen:
Code:
h = new Hashtable();

Oder eine Kopie des Hashtable in den Vektor setzen, und das Original löschen:
Code:
v.add( h.clone() );
h.clear();
 
Many Many Many THX!!!


Ich sitz da schon so lange dran und daran hätte ich nicht gedacht! Jetzt gehts :toll: :applaus:

Gruss
Stefan
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben