Как уже было сказано, вы можете создать ArrayList из String Arrays в виде написанного @Péter Török;
//Declaration of an ArrayList of String Arrays
ArrayList<String[]> listOfArrayList = new ArrayList<String[]>();
При назначении разных String Arrays этому ArrayList длина каждого String Array будет разной.
В следующем примере добавлены 4 различных массива строк, их длины различны.
String Array #1: len: 3
String Array #2: len: 1
String Array #3: len: 4
String Array #4: len: 2
Код демонстрации такой, как показано ниже;
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();
}
}
}
И выводследует;
$ 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
Также оповестите, что вы можете инициализировать новый массив Sting, как показано ниже:
new String[]{ str1, str2, str3,... }; // Assuming str's are String objects
То же самое относится к;
String[] newStringArray = { str1, str2, str3 }; // Assuming str's are String objects
IМы написали эту демонстрацию просто для того, чтобы показать, что нет объекта ArrayList , все элементы являются ссылками на различные экземпляры String Arrays, поэтому длина каждого String Arrays не обязательно должна быть одинаковой, равно как иважно.
Последнее замечание : Лучше всего использовать ArrayList в интерфейсе List вместо того, который вы использовали в своем вопросе.
Будет лучше использовать интерфейс списка, как показано ниже;
//Declaration of an ArrayList of String Arrays
List<String[]> listOfArrayList = new ArrayList<String[]>();