Zum Inhalt springen

HashMaps in Vectoren ablegen


Superpapagei

Empfohlene Beiträge

Hallo leutz ,

Ich habe folgendes Problem und anscheinend ein grundsätzliches

Missverständnis was HashMaps angeht .

Ich habe eine Tabelle aus einer Access DatenBank .

Weil ich diese noch durch Eingaben in JSP's ergänzen möchte lol

bzw. muss , möchte ich diese auch so weit wei geht als Tabelle gestallten .

Dazu habe ich mir nun gedenkt man nehme einen Vector und fülle diesen mit HashMaps die ich zuvor mit Zeilen aus der Datenbank

befüllt habe und setze diese nacheinander in den Vector.

Da der Vector ja über einen Index die Werte speichert und die HashMap Objecte über einen Schlüssel , also mit quasi Überschriften arbeiten , dacht ich das sei ne gute Idee .

Nun habe ich versucht in einer Schleife diese HashMap zu füllen , was auch geklappt hat .

Moment ich skizziere mal den Code

for(int index = 0 ; index < IrgendeinArray.length ; index++){

hash.put("datum" ,datum[count]);

etc.

vector.add(hash);

hash.clear();

}

Ich fülle also die Array Inhalte Zeilenweise in eine HashMap und

setze diese dann in den Vector . Dann lösche ich die HashMap um die nächste Fuhre des Arrays unterzubringen und so weiter .

Bloss das geht nicht denn erstens scheint eine HashMap mit 10

Einträgen auch im Vector 10 Indizes und nicht nur einen zu beanspruchen und zweitens wird die HashMap beim zweiten Durchgang nicht mehr wirklich befüllt .

Ich bräuchte mal ein Tip wo ich mich ein bischen schlau machen kann über dieses Thema und wenn ihr sonst was dazu wisst bloss keine falsche Bescheidenheit ;-)

Mfg papagei

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Superpapagei

hash.clear();

An dieser Stelle löscht du die HashMap wieder, auch wenn du sie vorher dem Vector hinzufügst.

Du musst in der Schleife jedes mal wieder new HashMap() aufrufen.

Ich habe sowas bisher immer mit einem 2 Dimensionalen Vector gemacht. Ein Vector für jede Zeile und ein Vector für alle Zeilenvectoren. Wobei an Stelle 0 des "großen" Vectors ein Vector mit den Spaltenbezeichnungen ist."

Hier ist der Code.


import java.sql.*;

public class HtmlResultSet {


	private ResultSet rs;


	public HtmlResultSet(ResultSet rs) {

		this.rs = rs;

	}


	public Vector toVector() {

		try {

			Vector data = new Vector();

			Vector rows = new Vector();

			ResultSetMetaData rsmd = rs.getMetaData();


			int numcols = rsmd.getColumnCount();


			for (int i = 1; i <= numcols; i++) {

				rows.add(rsmd.getColumnLabel(i));

			}

			data.add(rows);


			while (rs.next()) {

				rows = new Vector();

				for (int i = 1; i <= numcols; i++) {

					rows.add(rs.getObject(i));

				}

				data.add(rows);

			}

		} catch (SQLException e) {

			e.printStackTrace();

		}

		return data;

	}

}

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke Jaraz ,

Ich werde das mal versuchen ...

Du bist echt ein Java Guru ..meine Fresse wielange machst du das schon .... du hast echt zu allem ne Antwort ..Respekt ..

Also thx ich werde das mal probieren und morgen poste ich dann ob das alles so funktioniert .

Ein extrem gefrusteter JavaHoschi ;-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Superpapagei

Danke Jaraz ,

Ich werde das mal versuchen ...

Du bist echt ein Java Guru ..meine Fresse wielange machst du das schon .... du hast echt zu allem ne Antwort ..Respekt ..

Also thx ich werde das mal probieren und morgen poste ich dann ob das alles so funktioniert .

Ein extrem gefrusteter JavaHoschi ;-)

Anscheinend nicht lange genug (ca. 2 Jahre), wenn ich hier bei mir auf den Monitor schaue.

Tja, wenn man alle Probleme so einfach wären. :D

Deswegen bin ich im Moment auch so viel online, weil ich echt gefrustet bin.

Das Beispiel hatte ich in einer abgewandelten Form übrigens vorher schon einmal gepostet. Da ging es darum ein Resultset dynamisch in eine HTML Tabelle zu schreiben. Habe einfach alles nur in Vectoren gepackt. ;)

Das selbe sucht gerade jemand für PHP, wobei ich mich mit den entsprechenden PHP Mysql Funktionen nicht so gut auskenne.

Müsste aber so ähnlich gehen.

Also dann, werde noch ein bisschen hacken.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...