dynamische ArrayList

SkTnOnAmE

Mitglied
Hallo,
ich bastel zurzeit mit ArrayList rum und bräuchte jetzt mal ein bisschen Hilfe.
Ich brauch mehrere ArrayList welche dynamisch erzeugt werden.
Also z.B. Liste[0], Liste[1] usw.

Kann mir da evtl. jemand einen Tipp geben?

Code:
ArrayList ArtikelListe[] = new ArrayList[Order.Anzahl_Auftrag(FolderPath)];

Wobei der Order.Anzahl... die aktuelle Listenanzahl ist (also z.B. 12)

Bei meinem Code bekomm ich folgende Fehlermeldung, wenn ich z.B.
Code:
System.out.println(Liste[0]);
benutze.

java.lang.NullPointerException

MfG.
Patrick
 
Zuletzt bearbeitet:
Am dynamischsten bist Du mit List in List:

Code:
List masterList = new ArrayList();
while(masterList.size() < myAnzahl) {
masterList.add(new ArrayList());
}
//... nun noch füllen

Zugriff so:

Code:
List list;
for (Iterator it = masterList.iterator(); it.hasNext();) {
  list = (List)it.next();
  for (Iterator it1 = list.iterator(); it1.hasNext();) {
    System.out.println(it1.next());
  }
}
 
Erstmal Danke für die schnelle Antwort.
Wie kann ich die "Listen" denn dann füllen?

Wenn ich masterlist.add(); verwende bekomm ich folgende Fehlermeldung :(

java.lang.ClassCastException: OrderItem cannot be cast to java.util.List
 
Hallo,

na du musst dir die Liste in die du die Daten füllen willst mit
Code:
masterList.get(index)
holen und dann die Daten in diese Liste speichern.

MFG

zEriX
 
Hallo,
Danke :)
Werd mich mit den ArrayList mal weiter beschäftigen.
Allerdings bekomm ich leider immer noch diesen Fehler, egal ob ich einen String in die Liste schreiben will oder etwas anderes.

Code:
java.lang.ClassCastException: OrderItem cannot be cast to java.util.List

Ich hab den Codeschnipsel aus dem Forum 1zu1 übernommen.
 
Es wäre vielleicht von Vorteil, wenn du mal den Quelltext posten würdest und den Strace der Exception.

MFG

zEriX
 
Code:
public class ListTest {
  public static void main(String[] args) {
    int myAnzahl = 7;
    List masterList = new ArrayList();
    while(masterList.size() < myAnzahl) {
    masterList.add(new ArrayList());
    }
  }
}

...läuft problemlos.
 
...oder via Java 5 Syntax:

Code:
public class ListTest {
  public static void main(String[] args) {
    int myAnzahl = 7;
    List <List>masterList = new ArrayList<List>();
    while(masterList.size() < myAnzahl) {
    masterList.add(new ArrayList<String>());
    }
    //füllen:
    for (List <String>list : masterList) {
      while (Math.random() < 0.8) {
        list.add("ListEntry " + (Math.random() * 328746));
      }
    }
    //auslesen:
    for (List <String>list: masterList) {
      System.out.println("Element-Size: " + list.size());
      for (String s: list) {
        System.out.println(s);
      }
    }
  }
}
 
Zuletzt bearbeitet:
Danke, hatte einen kleinen Tippfehler bei dem .add :rolleyes:
Nun funktioniert das soweit ganz gut, kann ich die einzelnen Listen nun auch einzelnt ansprechen?
Wenn ich das habe bin ich fertig mit meinen fragen ;)

Danach kann ich mich auch wieder mit meinem PHP beschäftigen.

Vielen Dank nochmal
 
Zurück