title: 2D ArrayList initializing rows
body: <p>I'm making a 2D Arraylist board for a Collapse game, but for now just doing a text representation. I create the board, but when I attempt to fill it up with randomChar(), all the rows are getting the same random characters.
  What am I doing wrong?</p>
  
  <pre><code>public static void createBoard(int rSize, int cSize) {
      ArrayList&lt;Character&gt; row = new ArrayList&lt;Character&gt;();
      ArrayList&lt;ArrayList&lt;Character&gt;&gt; board = new ArrayList&lt;ArrayList&lt;Character&gt;&gt;();
  
      for (int c = 0; c &lt; cSize; c++) {
          board.add(row);
  
      }
      for (int r = 0; r &lt; rSize; r++) {
          board.get(r).add(randomChar());
          //row.add(randomChar());
          // board.get(r).set(r, randomChar());
          }
  
      //prints out board in table form
      for (ArrayList&lt;Character&gt; r : board) {
          printRow(r);
      }
      System.out.println(board);
  
      } 
  </code></pre>