Java 8 中新增的 Stream 类提供了一种新的数据处理方式。这种方式将元素集合看做一种流,在管道中传输,经过一系列处理节点,最终输出结果。
Stream的三个过程
1.Stream的五种创建方法
- 使用数组
String[] arr = { "ma", "zhi", "chu", "is", "java", "developer", "family" }
Stream<String> stream1 = Arrays.stream(arr);
- 使用Collections
String[] arr = { "ma", "zhi", "chu", "is", "java", "developer", "family" }
Arrays.asList(arr).stream().forEach(System.out::println);
- 使用Stream.generate()
Stream.generate(() -> "love").limit(10).forEach(System.out::println);
- 使用 Stream.iterate()
Stream.iterate(BigInteger.ZERO, n -> n.add(BigInteger.ONE)).limit(10).forEach(System.out::println);
- 使用流行的APIs,如Pattern.compile().splitAsStream()
String sentence = "ma zhi chu is a Java wechat official account.";
Stream<String> wordStream = Pattern.compile("\\W").splitAsStream(sentence);
String[] wordArr = wordStream.toArray(String[]::new);
System.out.println(Arrays.toString(wordArr));
2 Stream中间操作
3 Stream终止操作
Stream中间操作的方法