title: How to initialise 2d ArrayList with streams
body: <p>I have <strong>2D ArrayList</strong> like this one: <code>ArrayList&lt;ArrayList&lt;SingleCell&gt;&gt; grid;</code>.
  I want to initialize it like in this example with normal ArrayList:</p>
  
  <pre><code>List&lt;Person&gt; persons = Stream.generate(Person::new)
                               .limit(60)
                               .collect(Collectors.toList());
  </code></pre>
  
  <p>I’m getting width and height when constructing the holder class. I want to fill the 2D ArrayList with <code>new SingleCell();</code> based on the passed size. 
  Is it possible to do it like this and if it is possible how can i do it ? Also is there any better way?</p>