首頁 >Java >java教程 >Java 9中Stream API新增了哪些新功能?

Java 9中Stream API新增了哪些新功能?

WBOY
WBOY轉載
2023-08-30 19:49:03907瀏覽

Java 9中Stream API添加了哪些新功能?

##在 Java 9 中,Oracle Corporation 為

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()

#傳遞給takeWhile()

方法的參數是一個

Predicate

接口。此方法從左左到右取得流物件的一個元素,直到不再滿足謂詞物件的條件。範例

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()方法的參數也是一個

Predicate

介面。它與

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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除