我做了一些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
使用集合一些場景。
不要。這個微型基準不會「證明」任何東西。 –
並不是一切都是關於表現,你錯過了這一點。 –
這是一個意見問題。您的測試存在缺陷。所有流都比傳統循環更快並不明顯。 –