我正在阅读有关Java 8中提供的lambda表达式的两个博客和答案。
我无法弄清楚,单位lambda表达式是否对运行时有好处?
我从不同的来源复制了以下文本,这使我感到非常困惑。
一个答案是说-
“ lambda不会创建新的作用域,它们与封闭的块/环境共享相同的作用域”
在一个博客中-
“使用lambda表达式没有运行时的好处,所以我会谨慎使用它,因为我不介意写一些额外的代码行。”
从另一个博客-
“通过在方法中传递行为,又一个有益的lambda表达式顺序和并行执行支持”
所以对我来说,还有很多困惑。请帮助我清除此问题,以便在深入研究这些内容之前避免记住错误的方法。
我已经运行了以下代码,我可以说以下代码中的lambda表达式只是对匿名内部类及其在主线程上运行的替代。
List<Integer> list = new ArrayList<>();
list.add(12);
list.forEach(V -> {
System.out.println(V);
});
Run Code Online (Sandbox Code Playgroud)
我们是在减少时间复杂度还是空间复杂度?