Java8 已然到来,最大的变更就是Lambda. lambda中的stream是处理集合的源头,下面简单介绍一下创建stream的五种方式
1、通过数组创建
String[] arr = { "Java", "lambda", "test", "stream", "java", "web",
"program" };
stream = Stream.of(arr);
stream = Stream.of("Java", "lambda", "test", "stream", "java",
"web", "program");
String[] stringArr = {"a", "b", "c", "d"};
Stream<String> stream = Arrays.stream(stringArr);
2、通过集合来创建
// from collection
List<String> list = new ArrayList<String>();
list.add("java");
list.add("php");
list.add("python");
stream = list.stream();
3、通过generate方法来创建
Stream<String> stream = Stream.generate(() -> "test").limit(10);
String[] strArr = stream.toArray(String[]::new);
System.out.println(Arrays.toString(strArr));
4、通过iterate方法来创建
Stream<BigInteger> 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、通过流行的API
String sentence = "Lambda is a coming now.";
Stream<String> wordStream = Pattern.compile("\\W").splitAsStream(sentence);
String[] wordArr = wordStream.toArray(String[]::new);
System.out.println(Arrays.toString(wordArr));
以上五种方式用来创建你的stream,functional 时代已然到来,拥抱lambda吧,java coder...