schäme mich irgendwie wegen dieser Frage, komm aber nicht drauf.
Wie erstelle ich ein leeres zweidimensionales Array, dass kine feste Größe hat?
Und wie füge ich dann Daten hinzu?
double[][] array; // << das ist leer
array = new double[10][] // << jetzt hat es 10 leere Einträge
array[0] = new double[5]; // an erster Stelle stehen jetzt 5 0en
array[1] = new double[]{ 1, 2, 3 }; // an zweiter Stelle steht jetzt 1, 2, 3
Eine HashMap besteht immer aus einem Schlüssel, und einem Wert...
Code:
//Neue HashMap
Map map = new HashMap();
//Etwas hinzufuegen
map.put("schluessel", "wert");
///Wert wieder über den Schlüssel zurückholen
String w = (String) map.get("schluessel");
Hab ne SQL-Tabelle, mit unbekannt vielen Zeilen und vier Spalten.
Kenne aber trotzdem die Namen der gewünschten vier Spalten, und kann mir deren werte ausgeben lassen.
Die Werte will ich nun in einem zweidimensionalem array speichern.
Kann jedoch nicht schreiben: String[][] sqlArray = new String[10][4];
da ich nicht weiß wieviele Zeilen die Tabelle besitzt, da sie sich von
Tag zu Tag erweitern kann, und ich diesen Aufruf bei jedem Programmstart
ausführen muss.
Bekomm eine NullPointerException wenn ich schreibe:
Code:
int i = 0;
while (rsBoxLand.next()) {
land[i][0] = rsBoxLand.getString(1); <-------------- Null Pointer Exception in dieser Zeile
land[i][1] = rsBoxLand.getString(2);
land[i][2] = rsBoxLand.getString(3);
land[i][3] = rsBoxLand.getString(4);
i++;
}
Vielleicht rürt die Exception auch woanders her, aber der String vom ResultSet ist da, hab ich getestet.
Na, ich glaub ich hab da was geschrieben, was nicht zu deinem Problem passt. Meez hat da schon die bessere Lösung.
Vielleicht guckst du dir auch mal eine Liste (von Listen) an (siehe z.B. java.util.ArrayList). Eine Liste verhält sich fast wie ein Array, nur dass sie die Grösse ändern kann.
Map map = new HashMap();
//Vier Schlüssel in die Map füllen (Spaltennamen) ... Als Wert wird eine neue (leere) Liste (dynamischer Array) gespeichert.
map.put("<spaltenname>", new ArrayList());
//Wenn du jetzt zu einer Spalte Werte abfüllen willst, kannst du es so machen:
List list = (List) map.get("<spaltenname>");
list.add("<wert für die Spalte, also die zeile>");
Ausgeben:
Code:
//Alle Datensätze (Zeilen) der Spalte <spaltenname> ausgeben
List list = (List) map.get("<spaltenname>");
String s;
for (int n=0;n<list.size();n++) {
s = (String) list.get(n);
System.out.println(s);
}