Java 9:流API的增强
生活随笔
收集整理的這篇文章主要介紹了
Java 9:流API的增强
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Java 9向Stream接口添加了4種新方法:
1. dropWhile
dropWhile方法類似于skip方法,但使用Predicate而不是固定的整數(shù)值。 當(dāng)Predicate為true時(shí),它將從輸入流中刪除元素。 然后將所有剩余的元素傳遞到輸出流。 例如:
IntStream.range(0, 10).dropWhile(i -> i < 5).forEach(System.out::println); // prints 5, 6, 7, 8, 92.服用時(shí)
takeWhile方法類似于limit方法。 它在Predicate為true時(shí)從輸入流中獲取元素并將其傳遞到輸出流。 例如:
IntStream.range(0, 10).takeWhile(i -> i < 5).forEach(System.out::println); // prints 0, 1, 2, 3, 4注意:使用時(shí)要小心 當(dāng)您有一個(gè)無序的流時(shí),dropWhile和takeWhile ,因?yàn)槟赡軙?huì)在輸出流中獲得一些takeWhile元素。
3. ofNullable
ofNullable方法如果元素為null,則返回空流,如果非null,則返回單元素流。 這樣就無需在構(gòu)造流之前進(jìn)行空檢查。
Stream.ofNullable(null).count(); // prints 0 Stream.ofNullable("foo").count(); // prints 14.迭代
Java 9中已重載了靜態(tài)iterate方法,以允許您使用for循環(huán)語法創(chuàng)建流。 例如:
Stream.iterate(0, i -> i < 10, i -> i + 1).forEach(System.out::println); //prints from 0 to 9翻譯自: https://www.javacodegeeks.com/2017/12/java-9-enhancements-stream-api.html
總結(jié)
以上是生活随笔為你收集整理的Java 9:流API的增强的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ejb java_EJB继承与Java继
- 下一篇: Java Optionals获得更具表现