我做了一些PoC来比较两种类型的实现交互列表的性能。项目开发中所需的Lambda
第一个人使用纯java使用foreach
并检查'if'每个元素。
第二种方法是使用lambda
这样的:
int max1 = lists1.stream()
.mapToInt(i -> i)
.max()
.getAsInt();
long finalCount = lists1.stream()
.filter(p -> p.intValue() == max1)
.count();
显然使用lambda
为5的时间比使用传统的Java foreach
更快。
我感觉非常有信心在我目前的项目中强制使用lambda
作为规则,禁止使用经典的java foreach
。
我的问题是,如果有,我可以不适用此规则(需要拉姆达),我的意思是,如果存在例外,我无法使用lambda
使用集合一些场景。
不要。这个微型基准不会“证明”任何东西。 –
并不是一切都是关于表现,你错过了这一点。 –
这是一个意见问题。您的测试存在缺陷。所有流都比传统循环更快并不明显。 –