title: dynamic 2d array in java using Arraylist
body: <p>I found some problem in creating dynamic 2d array with arraylist,The original code is tediously long to read so i am giving a simple code here,the problem is same in both the cases:</p>
  
  <pre><code>import java.util.*;
  
  class test{
   public static void main(String args[]){
      Integer test[]=new Integer[3];
  
      ArrayList&lt;Integer[]&gt; al=new ArrayList&lt;Integer[]&gt;();
  
      int i,t;
  
       test[0]=1;
       test[1]=2;
       test[2]=3;
  
  
       al.add(test);
       test[0]=4;
       test[1]=5;
       test[2]=6;
  
    al.add(test);
  
       test[0]=7;
       test[1]=8;
       test[2]=9;
  
    al.add(test);
  
  
  
       test[0]=10;
       test[1]=11;
       test[2]=12;
    al.add(test);
  
  
  
       Integer table[][]=new Integer[al.size()][];
       table=al.toArray(table);
  
       for(i=0;i&lt;=al.size()-1;i++){
  
       for(t=0;t&lt;3;t++){
         System.out.print(" "+i+" "+t+" ");
         System.out.print(" "+table[i][t]+" ");}
       System.out.println();
   }   
  
     }
  }
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code> 0 0  10  0 1  11  0 2  12
    1 0  10  1 1  11  1 2  12
   2 0  10  2 1  11  2 2  12
   3 0  10  3 1  11  3 2  12
  </code></pre>
  
  <p>Output expected is </p>
  
  <pre><code> 0 0   1  0 1  2  0 2  3
   1 0   4  1 1  5  1 2  6
   2 0   7  2 1  8  2 2  9
   3 0  10  3 1  11  3 2  12
  </code></pre>
  
  <p>I don't under stand why the last element is over writting all other elements.</p>