簡體   English   中英

有沒有辦法運行 java stream 而不返回任何東西?

[英]Is there a way to run a java stream without returning anything?

有時我想使用 Java 流對每個元素運行操作,如下所示:

List.of("a", "b", "c")
     .stream()
     .peek(System.out::println)
     .collect(Collectors.toList());

如您所見,我只想打印每個元素,無需將結果收集到列表中。 但是如果我刪除最后一行,stream 根本不會執行。 所以我的問題是,有沒有在不收集結果的情況下運行 stream ? 類似run()東西?

只需使用forEach循環,如下所示:

List.of("a", "b", "c")
 .stream()
 .forEach(System.out::println);

StreamApi有兩種類型的方法

  1. 中間操作:第一種方法改變stream

例如

。地圖()
。篩選()

  1. 終端操作:第二種整理stream

例如

.forEach().collect()

您需要使用第二種類型。

Stream 總是以結束 stream 的方法結束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM