vielleicht verdreht der Eine oder Andere schon die Augen bei der Überschrift, doch ich wüsste nicht wie ich es sonst beschreiben sollte.
Mein Problem:
ich wollte ursprünglich ein mehrdimensionales Array anlegen, bspw. String[j], wobei i unbekannt ist.
An der Stelle bin ich nicht mehr weitergekommen mit meiner ursprünglichen Idee, bis ich auf java.util. gestoßen bin. Habe ein wenig herumprobiert und habe folgendes Gebilde geschrieben
Code:
List liste = new Arraylist();
...
liste.add(new hilfsKlasse(bla, bla, bla));
...
Naja, irgendwie gefällt mir der Weg über die hilfsKlasse nicht. Gibt es vielleicht eine etwas feinere Alternative für mein Problem?
Hi,
also wenn ich dich richtig verstanden hab, erhälst du ein zweidimensionales array.
die anzahl der spalten ist dir bekannt , allerdings nicht die anzahl der zeilen.
Hierzu könntest du tatsächlich ein Array von ArrayLists() verwenden, allerdings bräuchtest du dann kein zweidimensionales Array von ArrayList , sondern ein eindimensionales was groß genug ist für die Anzahl der Spalten aufzunehmen.
sorry, dass ich mich etwas ungenau ausgedrückt habe. Bei meiner Frage ging es konkret um Datensätze aus der Datenbank einzulesen. Ich weiß zwar wieviele Spalten meine Tabelle hat, aber nicht wieviele Zeilen. Natürlich könnte ich ein Count absetzen und damit das "i" bestimmen.
So würde ich zwar nicht merklich mehr Zeit verlieren, jedoch ein SQL-Statement "zuviel" absetzen. Würde mich mal interessieren wie ein erfahrener Programmierer das lösen würde.
...
public List getDatensaetze(String sql) throws SQLException {
List liste = new ArrayList();
sttmnt = con.createStatement();
rs = sttmnt.executeQuery(sql);
while(rs.next()) {
liste.add(new Kunde(Hans, Mustermann, 11111, Musterstadt));
}
rs.close();
sttmnt.close();
return liste;
}
...
Code:
public class Kunde {
import java.util.ArrayList;
...
private String vorName;
private String nachName;
private int plz;
private String wohnOrt;
public Kunde(String vorName, String nachName, int plz, String wohnOrt) {
this.vorName = vorName;
...
...
}
...
Würdet Ihr die GUI-Elemente dann auch in die Klasse Kunde packen oder eine extra Klasse schreiben? Im ersten Zug wollte ich die ganze GUI auch in Kunde packen, da ich dann nicht nocheinmal alle Variablen in eine andere Klasse schicken müsste. Würde ich an der Idee festhalten, hätte ich bei jedem new Kunde Befehl (Zeile 8, 1. Codebsp.) einen riesen Overhead, oder nicht?