title: Using the features in Java 8, what is the most concise way of transforming all the values of a list?
body: <p>Using the new features of Java 8, what is the most concise way of transforming all the values of a <code>List&lt;String&gt;</code>?</p>
  
  <p>Given this:</p>
  
  <pre><code>List&lt;String&gt; words = Arrays.asList("Apple", "Ananas", "Mango", "Banana", "Beer");
  </code></pre>
  
  <p>I am currently doing this:</p>
  
  <pre><code>for (int n = 0; n &lt; words.size(); n++) {
      words.set(n, words.get(n).toUpperCase());
  }
  </code></pre>
  
  <p>How can the new Lambdas, Collections and Streams API in Java 8 help:</p>
  
  <ol>
  <li><p>transform the values in-place (without creating a new list) </p></li>
  <li><p>transform the values into a new result list.</p></li>
  </ol>