I have three arrays of String
String array1 [] = {"A", "B", "C"};
String array2 [] = {"D", "E"};
String array3 [] = {"F", "G", "H", "I"};
I want to store all this arrays into List of String array.
List<String> allArrays[]
My output List allArrays[] should contain
allArrays[0]= [A,B,C]
allArrays[1]= [D,E]
allArrays[2]= [F,G,H,I]
I have tried below piece of code but getting null pointer exception
String array1 [] = {"A", "B", "C"};
String array2 [] = {"D", "E"};
String array3 [] = {"F", "G", "H", "I"};
List<String> allArrays[] =null;
allArrays[0].addAll(Arrays.asList(array1));
//Null pointer exception here
allArrays[1].addAll(Arrays.asList(array2));
allArrays[2].addAll(Arrays.asList(array3));
System.out.println(b[0]);
System.out.println(b[1]);
System.out.println(b[2]);
You are not creating and adding to the list correctly. Since you need an array
of List<String>
, you can do this:
String array1 [] = {"A", "B", "C"};
String array2 [] = {"D", "E"};
String array3 [] = {"F", "G", "H", "I"};
List<String>[] allArrays = new ArrayList[3];
List<String> list = new ArrayList<String>();
Collections.addAll(list, array1);
allArrays[0] = list;
list = new ArrayList<String>();
Collections.addAll(list, array2);
allArrays[1] = list;
list = new ArrayList<String>();
Collections.addAll(list, array3);
allArrays[2] = list;
System.out.println(allArrays[0]);
System.out.println(allArrays[1]);
System.out.println(allArrays[2]);
Output:
[A, B, C]
[D, E]
[F, G, H, I]
A better way would be using List<List<String>>
:
String array1 [] = {"A", "B", "C"};
String array2 [] = {"D", "E"};
String array3 [] = {"F", "G", "H", "I"};
List<List<String>> allArrays = new ArrayList<>();
allArrays.add(Arrays.asList(array1));
allArrays.add(Arrays.asList(array2));
allArrays.add(Arrays.asList(array3));
System.out.println(allArrays);
Output:
[[A, B, C], [D, E], [F, G, H, I]]
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments