一、使用数组
// 使用数组 String[] arr = { "ma", "zhi", "chu", "is", "java", "developer", "family" }; Stream stream = Stream.of(arr);// stream = Stream.of("ma", "zhi", "chu", "is", "java", "developer", "family" ); String[] stringArr = {"ma", "zhi", "chu", "love"}; Stream stream1 = Arrays.stream(stringArr);
二、使用Collections
// 使用Collections List list = new ArrayList(); list.add("ma"); list.add("zhi"); list.add("chu"); Stream stream2 = list.stream();
三、使用Stream.generate()
// 使用Stream.generate() Stream stream3 = Stream.generate(() -> "love").limit(10); String[] strArr3 = stream3.toArray(String[]::new); System.out.println(Arrays.toString(strArr3));
四、使用 Stream.iterate()
// 使用Stream.iterate() Stream bigIntStream = Stream.iterate(BigInteger.ZERO, n -> n.add(BigInteger.ONE)).limit(10); BigInteger[] bigIntArr = bigIntStream.toArray(BigInteger[]::new); System.out.println(Arrays.toString(bigIntArr));
五、使用流行的APIs,如Pattern.compile().splitAsStream()
// 5、使用Popular APIs String sentence = "ma zhi chu is a Java wechat official account."; Stream wordStream = Pattern.compile("\\W").splitAsStream(sentence); String[] wordArr = wordStream.toArray(String[]::new); System.out.println(Arrays.toString(wordArr));
看一下完整示例,
package com.mzc.common.stream; import java.math.BigInteger;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.regex.Pattern;import java.util.stream.Stream; /** *
* 功能: Java8创建流的5种方法 *
* * @author Moore * @ClassName Create stream. * @Version V1.0. * @date 2019.12.02 11:55:24 */public class CreateStream { public static void main(String[] args) { // 1、使用数组 String[] arr = { "ma", "zhi", "chu", "is", "java", "developer", "family" }; Stream
stream = Stream.of(arr);// stream = Stream.of("ma", "zhi", "chu", "is", "java", "developer", "family" ); String[] stringArr = {"ma", "zhi", "chu", "love"}; Stream stream1 = Arrays.stream(stringArr); System.out.println(Arrays.toString(stream.toArray(String[]::new))); System.out.println(Arrays.toString(stream1.toArray(String[]::new))); // 2、使用Collections List list = new ArrayList(); list.add("ma"); list.add("zhi"); list.add("chu"); Stream stream2 = list.stream(); stream2.forEach(l->{ System.out.println(l); }); // 3、使用Stream.generate() Stream stream3 = Stream.generate(() -> "love").limit(10); String[] strArr3 = stream3.toArray(String[]::new); System.out.println(Arrays.toString(strArr3)); // 4、使用Stream.iterate() Stream bigIntStream = Stream.iterate(BigInteger.ZERO, n -> n.add(BigInteger.ONE)).limit(10); BigInteger[] bigIntArr = bigIntStream.toArray(BigInteger[]::new); System.out.println(Arrays.toString(bigIntArr)); // 5、使用Popular APIs String sentence = "ma zhi chu is a Java wechat official account."; Stream wordStream = Pattern.compile("\\W").splitAsStream(sentence); String[] wordArr = wordStream.toArray(String[]::new); System.out.println(Arrays.toString(wordArr)); }}