Lambda 表达式是 Java 8 的新特性,可神奇的是竟然有很多同学没有用过。Lambda 表达式是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的 lambda 抽象,是一个匿名函数,即没有函数名的函数。Lambda 表达式可以表示闭包。
一、准备
本人整理了20年面试题大全,包含spring、并发、数据库、Redis、分布式、dubbo、JVM、微服务等方面总结,下图是部分截图,需要的话点这里点这里,暗号优快云。
我为什么说Lambda表达式运行效率低。
先准备一个list:
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10000; i++) {
list.add(i);
}
先用Lambda表达式的方式来循环一下这个list:
long lambdaStart = System.currentTimeMillis();
list.forEach(i -> {
// 不用做事情,循环就够了
});
long lambdaEnd = System.currentTimeMillis();
System.out.println("lambda循环运行毫秒数===" + (lambdaEnd - lambdaStart));
运行时间大概为110ms
再用普通方式来循环一下这个list:
long normalStart = System.currentTimeMillis();
for (int i = 0<