Java Stream過濾器案例解說 - Foojay
使用 Java 流操作集合中的資料比其他方法更方便、更簡潔。
import java.util.stream.IntStream; public class LimitStreamChallenger { public static void main(String... doYourBest) { IntStream.iterate(0, i -> i + 1) .limit(5) .filter(i -> i % 2 == 0) .forEach(System.out::print); IntStream.iterate(0, i -> i + 1) .peek(System.out::print) .filter(i -> i % 2 == 0) .limit(3) .forEach(System.out::print); } } 列印輸出: A) 024002244 B) 02400122344 C) 02401234 D) 02401234 |
分析流程式碼:
IntStream.iterate(0, i -> i + 1).limit(5).filter(i -> i % 2 == 0) .forEach(System.out::print); |
請注意,我們在迭代行使用了無限流,然後我們將流限制為 5 個元素並按偶數過濾它,最後列印所有元素。由於我們將數字限制為 5,因此我們將讓流在 0 到 4 的範圍內迭代。然後我們用偶數過濾它,最後列印元素,第一個結果將是 024。
在第二個流中,我們使用與第一個流非常相似的結構,但不同之處在於“peek”方法以及 filter 和 limit 方法的順序。peek 方法將列印此流條件下的所有元素。請記住,peek 方法旨在除錯並幫助我們瞭解 Steam 中發生的事情。然後我們將流元素過濾為偶數,我們將在這裡有 0、2 和 4,因為我們受到 3 的限制。
請注意,在此流中,我們確實有 3 個元素,這是因為限制是在 filter 方法之上執行的。
由於 peek 方法將列印所有元素,過濾的和未過濾的,最終輸出將是......你怎麼看?
相關文章
- Java 中的 Filter 過濾器詳解JavaFilter過濾器
- Java Filter過濾器JavaFilter過濾器
- Vue案例引發的「過濾器」的使用Vue過濾器
- ASP.Net Core 5.0 MVC中AOP思想的體現(五種過濾器)並結合專案案例說明過濾器的用法ASP.NETMVC過濾器
- 過濾Servlet--過濾器Servlet過濾器
- Java設計模式-過濾器模式Java設計模式過濾器
- java--FilenameFilter檔案過濾器JavaFilter過濾器
- Java培訓總結:過濾器鏈的實現方法、配置和案例分析Java過濾器
- Stream流收集器的購物車DDD聚合真實示例 - foojay
- 【過濾器】web中過濾器的使用與亂碼問題解決過濾器Web
- 過濾器過濾器
- Intent詳解(二)----Intent過濾器Intent過濾器
- 詳解Django自定義過濾器Django過濾器
- java過濾器中如何轉移地址?Java過濾器
- Java中Stream的teeing()方法用於處理合並兩個Collector - foojayJava
- java 過濾 htmlJavaHTML
- 4、過濾器的使用及自定義過濾器過濾器
- 點雲濾波器與過濾器過濾器
- Java Stream 詳解Java
- HBase Filter 過濾器之 ValueFilter 詳解Filter過濾器
- 布隆過濾器(Bloom Filter)詳解過濾器OOMFilter
- PHP基礎之過濾器講解PHP過濾器
- 代理過濾器過濾器
- vue 過濾器Vue過濾器
- Filter過濾器Filter過濾器
- hbase過濾器過濾器
- CAN過濾器過濾器
- Servlet過濾器Servlet過濾器
- 26、過濾器過濾器
- jms過濾器過濾器
- DataV過濾器過濾器
- Vue過濾器Vue過濾器
- Filter(過濾器)與Listener(監聽器)詳解Filter過濾器
- 【Java基礎】--filter過濾器原理解析JavaFilter過濾器
- Stream中filter過濾條件問題記錄Filter
- Xor過濾器:比布隆Bloom過濾器更快,更小過濾器OOM
- Java Stream函數語言程式設計案例圖文詳解Java函數程式設計
- Java敏感詞過濾Java