title: Is there any runtime benefit of using lambda expression in Java?
body: <p>I am reading couple of blogs and answers as well on lambda expression provided in Java 8. </p>
  
  <p>I am not able to figure out, is there any run-time benefit of unit lambda expression or not? </p>
  
  <p>I have copied following text from different sources which are too much confusing to me. </p>
  
  <p>One answer is saying - </p>
  
  <blockquote>
    <p>"lambdas do NOT create a new scope, they share the same scope as the
    enclosing block/environment"</p>
  </blockquote>
  
  <p>In the one blog -</p>
  
  <blockquote>
    <p>"There are no runtime benefits of using lambda expressions, so I will
    use it cautiously because I don’t mind writing few extra lines of
    code."</p>
  </blockquote>
  
  <p>From one other blog -</p>
  
  <blockquote>
    <p>"one more benefit lambda expressions Sequential and Parallel Execution
    Support by passing behavior in methods"</p>
  </blockquote>
  
  <p>So there is lots off confusion for me. 
  Please help me to clear this so I can avoid keeping wrong approach in mind before digging more in to this stuff.</p>
  
  <p>I have run following code and I can say the lambda expression in the following code is just replacement for the anonymous inner class and its running on main thread. </p>
  
  <pre><code>List&lt;Integer&gt; list = new ArrayList&lt;&gt;();
  list.add(12);
  list.forEach(V -&gt; {
      System.out.println(V);
  });
  </code></pre>
  
  <p><strong>Are we reducing any time complexity or space complexity?</strong></p>