Stream API 新增了四個有用的新方法。這些方法是 iterate()、ofNullable()、takeWhile() 和 dropWhile()。
#iterate ()##iterate()可以用作傳統for 迴圈 的串流版本替代。透過添加另一個參數Predicate 接口,該方法得到了改進,它允許我們根據Predicate 接口定義的條件來停止這些無窮無盡的數字。#Example
import java.util.stream.Stream; public class StreamIterateMethodTest { public static void main(String[] args) { Stream.<strong>iterate</strong>(1, i -> i < 5, i -> i + 1).<strong>forEach</strong>(System.out::println); <strong>// iterate()</strong> } }
<strong>1 2 3 4</strong>
ofNullable()
#ofNullable()方法在元素不為null時傳回一個stream物件。否則,傳回一個空的stream。##實例
import java.util.stream.Stream; public class StreamOfNullableMethodTest { public static void main(String[] args) { String str = "TutorialsPoint"; Stream.<strong>ofNullable</strong>(str).<strong>forEach</strong>(System.out::println); <strong> // ofNullable() method</strong> } }輸出
<strong>TutorialsPoint </strong>
#傳遞給takeWhile()
接口。此方法從左左到右取得流物件的一個元素,直到不再滿足謂詞物件的條件。範例import java.util.stream.Stream;
public class StreamTakeWhileMethodTest {
public static void main(String[] args) {
Stream.of(1, 2, 3, 4, 5)
.<strong>takeWhile</strong>(i -> i < 5) <strong>// takeWhile() method</strong>
.<strong>forEach</strong>(System.out::println);
}
}
輸出
<strong>1 2 3 4</strong>##dropWhile()
#dropWhile()方法的參數也是一個
takeWhile()方法相反。該方法從左到右依序傳遞流物件中的每個元素,並忽略滿足條件的所有元素。一旦條件不再滿足,將傳回所有剩餘的元素。範例#
import java.util.stream.Stream; public class StreamDropWhileMethodTest { public static void main(String[] args) { Stream.of(3, 2, 1, 4, 6, 7, 8, 9, 10) .<strong>dropWhile</strong>(i -> i < 5) <strong>// dropWhile() method</strong> .<strong>forEach</strong>(System.out::println); } }#輸出#
<strong>6 7 8 9 10</strong>
以上是Java 9中Stream API新增了哪些新功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!