Arrays from String to String[][]
First of all, String[] array1 = new String{"there", "there2", "there3", "there4"} will not compile. You probably thought:
String[] array1 = new String[]{"there", "there2", "there3", "there4"};
You can make it shorter (which I recommend):
String[] array1 = {"there", "there2", "there3", "there4"};
Now the answer to your question:
String[][] arrays = new String[][]{array1, array2, array3, array4};
Or, again, shorter (and recommended):
String[][] arrays = {array1, array2, array3, array4};
According to the Java Language Specification 10.3 Array Creation , a longer syntax and a shorter one is an array initializer . They are not equivalent. (If they were, designers would probably get rid of one of them - the Ockham razor .) An example where you can use an array creation expression, but not an array initializer.
Arrays from String to ArrayList<String[]>
Closest to how you tried:
List<String[]> myArrayList = new ArrayList<String[]>(); myArrayList.add(array1); myArrayList.add(array2); myArrayList.add(array3); myArrayList.add(array4);
Shortest using Arrays.asList() :
List<String[]> myArrayList = Arrays.asList(array1, array2, array3, array4);
And if you declare array1 , array2 , array3 , array4 as final references, you can use double binding initialization :
List<String[]> myArrayList = new ArrayList<String[]>() {{ add(array1); add(array2); add(array3); add(array4); }};