32 Stimmen

Wie erstellt man ein 2D-ArrayList in Java?

Ich möchte ein 2D-Array erstellen, bei dem jede Zelle ein ArrayList ist!

Ich betrachte diese Definitionen, aber ich kann nichts hinzufügen sind diese Definitionen wahr?!

ArrayList> tabelle = new ArrayList>();

oder

ArrayList[][] tabelle = new ArrayList[10][10];

//table.add??????

Bitte helfen Sie mir

60voto

AllTooSir Punkte 47800

Ich möchte ein 2D-Array erstellen, bei dem jede Zelle ein ArrayList ist!

Wenn du ein 2D-Array von ArrayList erstellen möchtest, kannst du dies tun:

ArrayList[][] tabelle = new ArrayList[10][10];
tabelle[0][0] = new ArrayList(); // füge ein weiteres ArrayList-Objekt zu [0,0] hinzu
tabelle[0][0].add(); // füge ein Objekt zu diesem ArrayList hinzu

51voto

PSR Punkte 38053

Der beste Weg ist, eine List innerhalb einer List zu verwenden:

List> listOfLists = new ArrayList>();

35voto

Gab Punkte 7400

Erstens, wenn Sie eine Variable in Java deklarieren, sollten Sie sie unter Verwendung von Interfaces deklarieren, auch wenn Sie die Implementierung beim Instanziieren angeben

List> listOfLists = new ArrayList>(size); 

sollte geschrieben werden

List> listOfLists = new ArrayList>(size); 

Dann müssen Sie alle Spalten Ihres 2D-Arrays instanziieren

    for(int i = 0; i < size; i++)  {
        listOfLists.add(new ArrayList());
    }

Und Sie werden es so verwenden :

listOfLists.get(0).add("foobar");

Aber wenn Sie wirklich "ein 2D-Array erstellen möchten, bei dem jede Zelle eine ArrayList ist!"

Dann müssen Sie den dijkstra Weg gehen.

3voto

dijkstra Punkte 1068
ArrayList[][] liste = new ArrayList[10][10];
liste[0][0] = new ArrayList<>();
liste[0][0].add("test");

2voto

Rachana K Punkte 94

Dies kann erreicht werden, indem ein Objekt der Listen-Datenstruktur erstellt wird, wie folgt

Liste liste = new ArrayList();

Für weitere Informationen siehe diesen Link

Wie erstelle ich eine multidimensionale ArrayList in Java?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X