Java 9中向Stream API添加了哪些新功能?
在Java9中,OracleCorporation向Stream API添加了四个有用的新方法。这些方法是iterate(),ofNullable(),takeWhile()和dropWhile()。
迭代()
的迭代()可以被用作流替换传统的版本for循环。通过添加另一个参数Predicate接口,此方法得到了改进,Predicate 接口使我们可以根据Predicate 接口定义的条件停止这些无尽的数字。
示例
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()方法返回流 对象 ,如果它是一个元素的非空。否则,它将返回一个空 流。
示例
import java.util.stream.Stream;
public class StreamOfNullableMethodTest {
public static void main(String[] args) {
String str = "nhooo";
Stream.ofNullable(str).forEach(System.out::println); // ofNullable() method }
}输出结果
nhooo
takeWhile()
传递给takeWhile()方法的参数是Predicate 接口。此方法将流对象的元素从左向右移,直到不再满足谓词 对象的条件为止。
示例
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
热门推荐
10 广西考试祝福语结婚简短
11 猪年祝福语简短小孩
12 元旦祝福语送长辈简短
13 恭喜二宝祝福语简短
14 祝福语暖心话简短
15 国庆中秋祝福语简短兄弟
16 朋友订婚的祝福语简短
17 送弟弟中秋祝福语简短
18 爱生日祝福语简短独特