import java.util.ArrayList;
public class ArrayAndList<E> {
    
    public static void main(String[] args) {
      int[][] b= {{1,2}, {2,3,4,5}}; 
      ArrayList<ArrayList<Integer>> list = toList(b);
      for(ArrayList<Integer> subList : list) {
        for(Integer iObj : subList) {
          System.out.println(iObj);
        }
      }
      int[][] list1 = toArray(list);
      for(int[] subList : list1) {
          for(int i : subList) {
            System.out.println(i);
          }
      }
      
    
    }
     public static ArrayList<ArrayList<Integer>> toList(int[][]a){
ArrayList<ArrayList<Integer>> l1=new ArrayList<ArrayList<Integer>>();

for(int[]b:a){
          ArrayList<Integer> l2=new ArrayList<Integer>();
for(int c:b){
l2.add(c);
}
l1.add(l2);

}
return l1;
}
    
  public static int[][] toArray(ArrayList<ArrayList<Integer>> l){
int k=0;
for (ArrayList<Integer> l1:l){
k++;
}
int[]j=new int[k-1];

k=0;
for (ArrayList<Integer> l1:l){
for(Integer obj:l1){
j[k]+=1;
}
k++;
}
//
int[][] result=new int[k-1][];
k=0;
for (ArrayList<Integer> l1:l){
result[k]=new int[j[k]-1];
int i=0;
for(Integer obj:l1){
result[k][i]=obj;
i++;
}
k++;
}
return result;
}

}