title: stream and parallelStream
body: <p>I have a test code like this :</p>
  
  <pre><code>List&lt;Integer&gt; list = new ArrayList&lt;&gt;(1000000);
  
  for(int i=0;i&lt;1000000;i++){
      list.add(i);
  }
  
  List&lt;String&gt; values = new ArrayList&lt;&gt;(1000000);
  
  list.stream().forEach(
      i-&gt;values.add(new Date().toString())
  );
  
  System.out.println(values.size()); 
  </code></pre>
  
  <p>Running this, I got a correct output: 1000000.</p>
  
  <p>However, if I change the <code>stream()</code> to <code>parallelStream()</code>, as this:</p>
  
  <pre><code> list.parallelStream().forEach(
      i-&gt;values.add(new Date().toString())
   );
  </code></pre>
  
  <p>I got a random output, e.g.: 920821.</p>
  
  <p>What's wrong?</p>