n Vectoren mit Vectoren füllen

Status
Nicht offen für weitere Antworten.

Weisswurst

Aktives Mitglied
Hi!

Ich hab da en Problem mit meinen Vectoren und stell mich wahrscheinlich grad etwas blöd an.
Ich beziehe mich auf das Beispiel zum Befüllen einer JTable mittels Vectoren aus der Forums FAQ.

Ganz großen Dank übrigens bezüglich der FAQ!!!

Ich zitiere mal das Beispiel:
Code:
public static void main( String[] args ){ 
      // Die Daten für das Table 
      Vector data = new Vector(); 
         Vector rowA = new Vector(); 
            rowA.add(  "1" ); 
            rowA.add(  "2" ); 
            rowA.add(  "3" ); 
            rowA.add(  "4" ); 
         Vector rowB = new Vector(); 
            rowB.add(  "5" ); 
            rowB.add(  "6" ); 
            rowB.add(  "7" ); 
            rowB.add(  "8" ); 
         Vector rowC = new Vector(); 
            rowC.add(  "9" ); 
            rowC.add( "10" ); 
            rowC.add( "11" ); 
            rowC.add( "12" ); 
       
         data.add( rowA ); 
         data.add( rowB ); 
         data.add( rowC ); 
             
      // Die Titel für das Table 
      Vector title = new Vector(); 
         title.add( "A" ); 
         title.add( "B" ); 
         title.add( "C" ); 
         title.add( "D" ); 
       
      // Das JTable initialisieren 
      JTable table = new JTable(  data, title );

So, hier werden die, ich nenns mal Datensätze, in den Vectoren rowA, rowB und rowC gespeichert und diese dann alle in den data Vector geschoben. Soweit so schön.
Mein Problem ist jetzt aber, dass ich nicht nur drei "Datensätze" habe, sondern eben n Datensätze. Zur Laufzeit ist klar, wieviele Datensätze. Wie schaff ich's jetzt meine n Datensätze in n Vectoren zu drücken?

Alle Versuche ein Array datensatzVectoren[] zu erstellen sind gescheitert. Wie könnte denn die Lösung aussehen?

Vielen Dank schonma.
Gruß
Würschtel
 
Lies die FAQ weiter und nimm ein eigenes TableModel. Diese Vector Variante wird in der Praxis eigentlich nicht benutzt.
 
Vector[] datensatzVectoren = new Vector[n];

aber du hast doch einen Vector von Vectoren, wozu dann noch ein Array?
 
SlaterB hat gesagt.:
Vector[] datensatzVectoren = new Vector[n];

Das wars.
So sahs dummer weise bei mir aus...
"datensatzVectoren = new Vector()[n]"

@Wildcard
Ich hatte vor das mit dem DefaultTableModel zu erledigen.
Das mit dem eigenen TableModel schien mir auf den ersten Blick zu aufwendig um ein paar Dateinamen plus Größe
aufzulisten. Ich muss gestehen, ich habs auch nicht wirklich kapiert.
 
Klar, das Default kannst du für einfache Sachen durchaus verwenden, nur Vectoren sind sehr unschön.
 
Warum sind Vectoren unschön und was sind den Alternativen zu Vector und Array?
 
Vectoren sind nur aus Gründen der Abwärtskompatibilität vorhanden.
Deren API wurde nachträglich an die Collection Interfaces angepasst.
In neueren Programmen sollten nur die Collection Implementierungen verwendet werden, die von Anfang an darauf ausgelegt waren.
ArrayList, LinkedList, HashSet,...
 
Vectoren sind OK, wenn man sowas braucht, wie eine ArrayList, aber das ganze dann synchronized sein soll. Die Alternative
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Collections.html#synchronizedList(java.util.List)
finde ich da zumindest noch unschöner... :?
 
Marco13 hat gesagt.:
Vectoren sind OK, wenn man sowas braucht, wie eine ArrayList, aber das ganze dann synchronized sein soll.
Vectoren sind OK, wenn man sowas braucht, wie eine ArrayList, aber das ganze dann synchronized sein soll und man den Vector nur als List typisiert.
Persönlich favorisiere ich allerdings die synchronizedList Methode.
 
Das Problem das ich mit Vector habe, ist das ich schon viel zu oft v.getElementAt(x) korrigieren musste.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben