title: ArrayList of integer arrays in Java
body: <p>everyone.</p>
  
  <p>I'm just getting into Java, and I'm trying to write a simple game where an enemy chases the player on a grid. I'm using the simple algorithm for pathfinding from the Wikipedia page on pathfinding. This involves creating two lists with each list item containing 3 integers. Here's test code I'm trying out to build and display such a list.</p>
  
  <p>When I run the following code, it prints out the same numbers for each array in the ArrayList. Why does it do this?</p>
  
  <pre><code>public class ListTest {
  
  public static void main(String[] args) {
      ArrayList&lt;Integer[]&gt; list = new ArrayList&lt;Integer[]&gt;(); 
      Integer[] point = new Integer[3];
      for (int i = 0; i &lt; 10; i++) {
          for (int j = 0; j &lt; 3; j++) {
              point[j] = (int)(Math.random() * 10);
          }            
  
          //Doesn't this line add filled Integer[] point to the 
          //end of ArrayList list?
          list.add(point);      
  
          //Added this line to confirm that Integer[] point is actually 
          //being filled with 3 random ints.
          System.out.println(point[0] + "," + point[1] + "," + point[2]);
      }
      System.out.println();
  
      //My current understanding is that this section should step through 
      //ArrayList list and retrieve each Integer[] point added above. It runs, but only 
      //the values of the last Integer[] point from above are displayed 10 times.
      Iterator it = list.iterator();
      while (it.hasNext()) {
          point = (Integer[])it.next();  
          for (int i = 0; i &lt; 3; i++) {
              System.out.print(point[i] + ",");
          } 
              System.out.println(); 
          } 
      }
  }
  </code></pre>