Wie bereits beantwortet, können Sie eine ArrayList von String Arrays als @ Péter Török geschrieben erstellen;
Wenn Sie dieser ArrayList verschiedene String-Arrays zuweisen, ist die Länge jedes String-Arrays unterschiedlich.
Im folgenden Beispiel wurden 4 verschiedene Array of String hinzugefügt, deren Längen variieren.
String Array #1: len: 3
String Array #2: len: 1
String Array #3: len: 4
String Array #4: len: 2
Der Demonstrationscode ist wie folgt;
import java.util.ArrayList;
public class TestMultiArray {
public static void main(String[] args) {
//Declaration of an ArrayList of String Arrays
ArrayList<String[]> listOfArrayList = new ArrayList<String[]>();
//Assignment of 4 different String Arrays with different lengths
listOfArrayList.add(new String[]{"line1: test String 1","line1: test String 2","line1: test String 3"} );
listOfArrayList.add(new String[]{"line2: test String 1"} );
listOfArrayList.add(new String[]{"line3: test String 1","line3: test String 2","line3: test String 3", "line3: test String 4"} );
listOfArrayList.add(new String[]{"line4: test String 1","line4: test String 2"} );
// Printing out the ArrayList Contents of String Arrays
// '$' is used to indicate the String elements of String Arrays
for(int i = 0; i < listOfArrayList.size(); i++) {
for(int j = 0; j < listOfArrayList.get(i).length; j++)
System.out.printf(" $ " + listOfArrayList.get(i)[j]);
System.out.println();
}
}
}
Und der Ausgang ist wie folgt;
$ line1: test String 1 $ line1: test String 2 $ line1: test String 3
$ line2: test String 1
$ line3: test String 1 $ line3: test String 2 $ line3: test String 3 $ line3: test String 4
$ line4: test String 1 $ line4: test String 2
Benachrichtigen Sie auch, dass Sie ein neues Array of Sting wie unten beschrieben initialisieren können;
new String[]{ str1, str2, str3,... }; // Assuming str's are String objects
Also das ist das gleiche mit;
String[] newStringArray = { str1, str2, str3 }; // Assuming str's are String objects
ich diese Demonstration geschrieben habe nur um zu zeigen, dass keine der Arraylist Objekt, alle Elemente Verweise auf verschiedene Ausprägungen von String-Arrays sind, so dass die Länge der einzelnen String-Arrays sind nicht gleich sein müssen, es ist auch nicht wichtig.
Eine letzte Anmerkung: Es wird empfohlen, die ArrayList innerhalb einer List-Oberfläche zu verwenden, anstatt sie in Ihrer Frage zu verwenden.
Es wird besser sein, die List-Schnittstelle wie folgt zu verwenden;
//Declaration of an ArrayList of String Arrays
List<String[]> listOfArrayList = new ArrayList<String[]>();
+1 vereinbart. Auch sollte es normalerweise endgültig erklärt werden. Es gibt nur sehr wenige Anwendungsfälle für das erneute Binden einer Containervariablen. – dsmith
Warum ist das so? – athena
@athena: Siehe die erste Frage und ihre Antwort in diesem Erich Gamma Interview: http://goo.gl/fz9G – missingfaktor