Probleme beim Zugriff auf verschachtelte Vektoren

Status
Nicht offen für weitere Antworten.
E

EinGast

Gast
Hallo zusammen!

Ich habe ein kleines Problem. Ich hab ein Table Model geschrieben, in dem die Daten für den Tabelleninhalt zeilenweise in einem Vector gespeichert sind. Jede Zeile ist wiederum ein Vector bestehend aus Strings, also etwa so:

[
[a, b, c]
[d, e, f]
]

wobei a...f Strings darstellen

beim Zugriff auf die Strings habe ich jetzt meine Probleme:

Code:
//das funktioniert:
myTableModel.getData();
//das auch
myTableModel.getData().elementAt(zeilenNummer);
//das nicht
myTableModel.getData().elementAt(zeilenNummer).elementAt(spaltenNummer);

okay, ich weiss, dass mir das elementAt() ein Object zurückgibt, aber wie kann ich ein Object in einen Vector umwandeln?
 
C

Cons

Gast
Du musst festlegen, dass das zurückgegebene Element ein Vector sein muss.
Also:

myTableModel.getData().(Vector)ElementAt(zeilenNummer).[Methode oder Eigenschaft von Vector)
 
E

EinGast

Gast
jo tut, aber jetzt was ganz lustiges...

Code:
System.out.println(myTableModel.getData());
Vector a = (Vector)myTableModel.getData().elementAt(0);
System.out.println(a);
System.out.println(a.elementAt(0));

gibt folgende Ausgabe...

[[], [], []]
[]
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0

das wundert mich doch schon, da der vector für die zeile net leer ist...
 

el_barto

Bekanntes Mitglied
EinGast hat gesagt.:
...das wundert mich doch schon, da der vector für die zeile net leer ist...

nach der fehlermeldung zu urteilen, doch. vielleicht ist es jetzt zeit für den code, wo die vectoren gefüllt werden.

oder schau doch mal, was das bringt:
Code:
System.out.println(a.size());
 
G

Guest

Gast
Code:
while(rs.next() == true)
{
	for(i=1; i<6; i++)
	{
		System.out.println(rs.getString(i));
		zeile.addElement(rs.getString(i));
	}							
	System.out.println(zeile);
	myTableModel.setData(zeile);
	zeile.clear();
}
System.out.println(myTableModel.getData());
System.out.println(myTableModel.getData().elementAt(0));
Vector a = (Vector) myTableModel.getData().elementAt(0);
System.out.println(a);
System.out.println(a.elementAt(1));

rs ist mein Resultset der DB-Abfrage

und das ist die Ausgabe dazu...
1
CD - Schrank 1
Test CD 1
2004-01-20
MTI
[1, CD - Schrank 1, Test CD 1, 2004-01-20, MTI]
2
CD - Schrank 1
Test CD 2
2004-01-21
MTI
[2, CD - Schrank 1, Test CD 2, 2004-01-21, MTI]
3
CD - Schrank 2
Test CD 3
2004-01-21
MTI
[3, CD - Schrank 2, Test CD 3, 2004-01-21, MTI]
[[], [], []]
[]
[]
java.lang.ArrayIndexOutOfBoundsException: 1 >= 0

wie ihr seht ne CD-Verwaltung...
 
E

EinGast

Gast
Code:
private Vector data = new Vector();

public Vector getData()
{
	return data;
}

public void setData(Vector zeile)
{
	data.addElement(zeile);
}

setData hätte man anders benennen können, aber so siehts jetzt aus...
 

el_barto

Bekanntes Mitglied
ich würde sagen, der fehler liegt beim füllen des vectors. du musst jedesmal einen neuen vector anlegen, da zeile immer auf denselben referenziert. d. h., nach zeile.clear() ist der vector wieder leer. objektreferenzen!!!
Code:
while(rs.next() == true) 
{ 
    Vector zeile = new Vector();   
    for(i=1; i<6; i++) 
   { 
      System.out.println(rs.getString(i)); 
      
      zeile.addElement(rs.getString(i)); 
   }                      
   System.out.println(zeile); 
   myTableModel.setData(zeile); 
}
 

el_barto

Bekanntes Mitglied
noch ne anmerkung
Code:
while(rs.next())
reicht aus, da die methode nen boolean liefert.
 
E

EinGast

Gast
da sind sie wieder meine Sorgen...

ich brauche also für jede Zeile einen eigenen Vektor (zeile)...

ich könnte ja in jedem Durchlauf der while-Schleife einen neuen Vektor allokieren...

aber, wie kann ich denn nen Vektor (oder sonstige Variablen in ner while-Schleide erstellen, die se müssen unterschiedliche namen haben und ich weiss noch nichtmal, wieviele es werden?!?!?!?
 
E

EinGast

Gast
es funzt *juhu*

aber verstehn tu ich das jetzt nicht...

wenn ich den zeile.clear mache, lösche ich ja den Inhalt des Vectors...

ich kann jetzt auch nachvollziehen, warum das ganze dann leer ist...

aber wo ist da jetzt der unterschied, wenn in der while-schleife immer wieder ein Vector namens Zeile allokiert wird?
wie kann ich mir das vom Speicher her vortsellen?
Gibts am Ende von der While-Schleife dann ne handvoll Vectoren, die alle zeile heißen, aber an verschiedenen Stellen im Speicher liegen?

Wenn das so ist, wie kann ich auf die einzelnen Vectoren mit dem Namen zeile zugreifen? (ist hier zwar nicht nötig, aber würde mich schon interessieren...)
 

el_barto

Bekanntes Mitglied
EinGast hat gesagt.:
aber wo ist da jetzt der unterschied, wenn in der while-schleife immer wieder ein Vector namens Zeile allokiert wird?

der kleine aber feine unterschied ist das "new". es handelt sich somit immer um einen neuen vector, du hast also mehrere objekte. diese heißen auch nicht alle zeile. zeile ist nur der variablenname. wenn du die vectoren wieder ausliest, kannst du sie auch bullshit nennen. es sind trotzdem noch dieselben objekte.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
B Compiler-Fehler Probleme beim Kompilieren mit Jsoup Allgemeine Java-Themen 8
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
B Input/Output Probleme beim Ausführen von Shell-Befehlen mit Java Allgemeine Java-Themen 28
J Probleme beim einbinden von Zip4j library Allgemeine Java-Themen 6
F SQLite mit Java / Probleme beim INSERT Befehl Allgemeine Java-Themen 4
S Eclipse Probleme beim Implementieren / Ausführen von jUnit 5-Test Suites Allgemeine Java-Themen 14
A Probleme beim Verstehen einer Aufgabenstellung Allgemeine Java-Themen 11
perlenfischer1984 Probleme beim Mocken Allgemeine Java-Themen 6
R probleme beim starten von jar unter linux Allgemeine Java-Themen 2
M Probleme beim rechnen, bei Zahlen mit führenden Nullen. Allgemeine Java-Themen 7
E JCuda-0.6.5 Probleme beim ausführen der Datei Allgemeine Java-Themen 0
W JNDI - LDAP - Probleme beim editieren von Usern Allgemeine Java-Themen 0
N Zahlensysteme umrechnen; Probleme beim Umwandeln Allgemeine Java-Themen 4
A Probleme beim auslesen von Quelltext (HTML) Allgemeine Java-Themen 5
M 3D-Grafik Probleme beim drehen von Objekten Allgemeine Java-Themen 9
S Probleme beim Auslesen einer Liste Allgemeine Java-Themen 8
H Probleme beim Erstellen einer txt. Datei Allgemeine Java-Themen 7
S Probleme beim Start von jar Datein Allgemeine Java-Themen 15
S Probleme beim Compilen Allgemeine Java-Themen 8
N Probleme mit Umlauten beim Einlesen Allgemeine Java-Themen 6
P Probleme beim Signieren Allgemeine Java-Themen 2
D Probleme beim schreiben / lesen in TreeMap Allgemeine Java-Themen 9
S Probleme beim Anzeigen des Dateiinhalts Allgemeine Java-Themen 6
O Probleme beim vergleichen von 2 Datumsangaben Allgemeine Java-Themen 2
hdi Probleme beim Rechnen mit BigDecimal Allgemeine Java-Themen 5
V Probleme beim Drucken mehrerer PDF's Allgemeine Java-Themen 17
E Probleme beim Umstieg auf Version 1.6.0_12 Allgemeine Java-Themen 4
J Java Plugin probleme beim Laden? Allgemeine Java-Themen 3
V Probleme beim Lesen mit readObject -> InvalidClassExcepti Allgemeine Java-Themen 3
D Probleme beim Umstellen von iText 1.4.4 auf Version 2.1.2 Allgemeine Java-Themen 5
G Probleme beim Sichern von Properties Allgemeine Java-Themen 2
W Probleme beim Ausführen einer Java Klasse auf Kommandozeile Allgemeine Java-Themen 17
S Probleme beim Einstieg Allgemeine Java-Themen 3
F Probleme beim speichern einer xml datei mit jdom Allgemeine Java-Themen 5
D Probleme beim FAQ (JTextField: Dokumentarten) Allgemeine Java-Themen 5
B probleme beim compilen/decompilen Allgemeine Java-Themen 4
G Probleme beim Mail-Api mit BCC Allgemeine Java-Themen 2
M Probleme beim ausführen meiner Klasse Allgemeine Java-Themen 8
G probleme beim sortieren einer ArrayList Allgemeine Java-Themen 8
G Probleme beim Entzippen Allgemeine Java-Themen 4
G jdk1.5 Probleme beim Installieren unter Win Allgemeine Java-Themen 2
J Probleme mit der CommApi beim ProgrammStart über Konsole Allgemeine Java-Themen 2
P Probleme beim Einlesen einer TXT/CSV-Datei aus einem JAR Allgemeine Java-Themen 7
C Probleme beim Starten eines Java-Programms Allgemeine Java-Themen 2
G Probleme beim Verbinden auf einen Notes 5 Server Allgemeine Java-Themen 3
S Umstellung von File auf Path - Probleme mit Stream Allgemeine Java-Themen 5
C Probleme mit javax.mail.Session Allgemeine Java-Themen 8
M tomcat probleme Allgemeine Java-Themen 1
N Division macht Probleme Allgemeine Java-Themen 14
MarvinsDepression Probleme mit relativem Dateipfad Allgemeine Java-Themen 1
G Geotools Probleme nach PC-Wechsel Allgemeine Java-Themen 6
nibe1501 GUI Probleme Allgemeine Java-Themen 16
C Probleme mit dem WindowBuilder Allgemeine Java-Themen 3
P Selenium . Probleme ein Iron Icon Element anzusprechen Allgemeine Java-Themen 2
K VisualVM Profiling Remote Probleme Allgemeine Java-Themen 1
O Leerzeichen und Umlaute im Pfad einer Java Applikation machen Probleme Allgemeine Java-Themen 13
M Probleme bei Eclipse wenn ich entpacke Allgemeine Java-Themen 15
D Regex Probleme Allgemeine Java-Themen 2
M Probleme jar datei. Allgemeine Java-Themen 2
L Vererbung Verständnis Probleme Vererbung Allgemeine Java-Themen 2
Dann07 Probleme mit OpenAL Allgemeine Java-Themen 0
V Compiler-Fehler Online Compiler Probleme Allgemeine Java-Themen 4
M Probleme mit Negamax-Algorithmus Allgemeine Java-Themen 29
M Probleme mit BigDecimal Allgemeine Java-Themen 1
T Probleme mit NumberFormat Allgemeine Java-Themen 5
J Probleme exe-Start mit Task Scheduler Allgemeine Java-Themen 1
F Variablen Palindromzahl (Probleme mit Methode) Allgemeine Java-Themen 9
K Data Konverter - Probleme mit Byte[] Kodierung Allgemeine Java-Themen 3
T Probleme mit dem Pfad zum Propertie file Allgemeine Java-Themen 7
H Swing HashMap zu Tabelle macht mir Probleme Allgemeine Java-Themen 4
Neoline Interpreter-Fehler Probleme mit Arrays.toString Allgemeine Java-Themen 7
J Erste Schritte Probleme mit der Hauptklasse Allgemeine Java-Themen 14
J Tetris Probleme bei Klassen Allgemeine Java-Themen 14
J MinMax VierGewinnt Probleme Allgemeine Java-Themen 22
J Probleme mit CodeCoverage und Lombok Equals Allgemeine Java-Themen 1
R Snake Probleme Allgemeine Java-Themen 2
RalleYTN 3D Objekt Translation basierend auf Rotation (Probleme mit Z Rotation) Allgemeine Java-Themen 0
Bluedaishi Druck Probleme mit PDF dateien Allgemeine Java-Themen 4
G Ant Probleme bei einer Installation die Apache ant+ivy verwendet Allgemeine Java-Themen 14
E TableView Probleme Allgemeine Java-Themen 7
S Kaffemaschine Programmierung Probleme Allgemeine Java-Themen 2
K Threads Runtime und Process Probleme Allgemeine Java-Themen 3
S Probleme mit unterschiedlichen Java-Versionen (Mac OS X 10.11) Allgemeine Java-Themen 0
S Event Handling keyPressed()-Probleme Allgemeine Java-Themen 2
VfL_Freak Große und seltsame Probleme nach Java-Update auf V1.8.0_91 Allgemeine Java-Themen 3
P Probleme mit Grafik (Java) Allgemeine Java-Themen 6
H Probleme mit DAY_OF_WEEK Allgemeine Java-Themen 4
Arif Probleme mit NullPointerException Allgemeine Java-Themen 2
E Probleme mit nextInt() und Exception Allgemeine Java-Themen 35
Streeber Probleme mit AWT-EventQueue: ArrayList Elemente hinzufügen Allgemeine Java-Themen 1
D Performance-Probleme mit Joda-Time Allgemeine Java-Themen 3
RalleYTN Probleme mit Encrypting Allgemeine Java-Themen 10
M Probleme mit Schriftarten PDFBox Allgemeine Java-Themen 3
J Probleme mit der Java-Runtime Allgemeine Java-Themen 10
G Probleme mit BufferedWriter und URL Allgemeine Java-Themen 4
S Probleme mit meinem MacBook Pro DRINGEND HILFE erbeten! Allgemeine Java-Themen 17
Androbin Interpreter-Fehler Probleme mit Rekursion - StackOverflowError Allgemeine Java-Themen 8
M Runtime.exec() verursacht auf manchen Systemen Probleme - Ursache unklar Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben