微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

In Java 9, Oracle Corporation has added four useful new methods to Stream API. Those methods are iterate(), ofNullable(), takeWhile() and dropWhile().

import java.util.stream.Stream; public class StreamIterateMethodTest { public static void main(String[] args) { Stream.iterate(1, i -> i < 5, i -> i + 1).forEach(System.out::println); // iterate() } }

输出

1
2
3
4

ofNullable()

ofNullable()方法在元素不为null时返回一个stream对象。否则,返回一个空的stream

示例

import java.util.stream.Stream;
public class StreamOfNullableMethodTest {
   public static void main(String[] args) {
      String str = "TutorialsPoint";
      Stream.ofNullable(str).forEach(System.out::println);    // ofNullable() method
   }
}

输出

TutorialsPoint

takeWhile()

The parameter passed to a takeWhile() method is a Predicate interface. This method takes an element of stream object from left to right until the condition of the Predicate object is no longer fulfilled.

Example

import java.util.stream.Stream;
public class StreamTakeWhileMethodTest {
   public static void main(String[] args) {
      Stream.of(1, 2, 3, 4, 5)
         .takeWhile(i -> i < 5)         // takeWhile() method
         .forEach(System.out::println);
   }
}

输出

1
2
3
4

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)
            .dropWhile(i -> i < 5)     // dropWhile() method
            .forEach(System.out::println);
   }
}

输出

6
7
8
9
10

以上就是Java 9中Stream API添加了哪些新功能?的详细内容,更多请关注编程之家其它相关文章

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐