亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Java 中,在應用流函數鏈之前檢查集合是否為空是否可以提高性能?

在 Java 中,在應用流函數鏈之前檢查集合是否為空是否可以提高性能?

喵喔喔 2023-07-19 16:45:22
Stream API 在空集合上的表現如何?在集合上執行流命令鏈之前檢查是否為空是否有意義?例如,第一個或第二個示例塊的總運行時間更好嗎?List a = new ArrayList(); return a.stream.anyMatch("OK"::equals).orElse(null);與List a = new ArrayList();if(a.isEmpty()) {    return null;} else {    return a.stream.anyMatch("OK"::equals).orElse(null);}我知道第一個選項更漂亮,但這是一個關于性能的問題。
查看完整描述

1 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

在集合上執行流命令鏈之前檢查是否為空是否有意義?

從性能的角度來看,這可能會有所幫助,因為它絕對可以防止空流花費(一點)CPU 時間而不執行任何操作。

但從概念的角度來看:這不是一個好主意。流的全部要點是您不關心條目的數量。流(在很大程度上)是一種以“函數式編程”方式表達邏輯的方式??樟鞣祷亍翱铡苯Y果。這就是它們的工作原理和使用方式。

例如,如果您預先添加不同的檢查,那么您的代碼還需要提供該空結果。

關于性能,您真正需要謹慎的事情是:大量流操作經常在少量元素上運行。


查看完整回答
反對 回復 2023-07-19
  • 1 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號