title: Why start an ArrayList with an initial capacity?
body: <p>The usual constructor of <code>ArrayList</code> is:</p>
  
  <pre><code>ArrayList&lt;?&gt; list = new ArrayList&lt;&gt;();
  </code></pre>
  
  <p>But there is also an overloaded constructor with a parameter for its initial capacity:</p>
  
  <pre><code>ArrayList&lt;?&gt; list = new ArrayList&lt;&gt;(20);
  </code></pre>
  
  <p>Why is it useful to create an <code>ArrayList</code> with an initial capacity when we can append to it as we please?</p>