title: How is StringBuilder more efficient than normal "+"?
body: <p>Can you explain to me why using StringBuilder works much faster than just adding strings with "+" every time? For example:</p>
  
  <pre><code>for (int i = 0; i &lt; arr.length; i++) {
      stringBuilder.append(arr[i]);
  }
  str = stringBuilder.toString();
  </code></pre>
  
  <p>Is much faster than:</p>
  
  <pre><code>for (int i = 0; i &lt; arr.length; i++) {
      str = str + arr[i];
  }
  </code></pre>
  
  <p>Why is this happening?</p>