在Java8里创建Stream的几种方法
2015-03-16 23:45
399 查看
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; /** * * @author Kangjun Ways of Creating a Stream in Java 8 */ public class StreamDemo { public static void main(String[] args) { arraysStream(); collectionStream(); generate(); iterateStream(); populaStream(); } //From Arrays public static void arraysStream() { String[] arr = {"program", "creek", "program", "creek", "java", "web", "program"}; Stream<String> stream = Stream.of(arr); System.out.println(Arrays.toString(arr)); } //From Collections public static void collectionStream() { List<String> list = new ArrayList<>(); list.add("Java"); list.add("python"); list.add("c++"); list.add("c"); list.add("lisp"); Stream<String> stream = list.stream().filter(p -> p.length() > 3); String[] arr = stream.toArray(String[]::new); System.out.println(Arrays.toString(arr)); } //Use Stream.generate() public static void generate() { Stream<String> stream = Stream.generate(() -> "test").limit(10); String[] strArr = stream.toArray(String[]::new); System.out.println(Arrays.toString(strArr)); } //Use Stream.iterate() public static void iterateStream() { Stream<BigInteger> bigIntStream = Stream.iterate(BigInteger.ZERO, n -> n.add(BigInteger.TEN)).limit(10); BigInteger[] bigIntArr = bigIntStream.toArray(BigInteger[]::new); System.out.println(Arrays.toString(bigIntArr)); } // From Popular APIs public static void populaStream() { String sentence = "Program creek is a Java site."; Stream<String> wordStream = Pattern.compile("\\W").splitAsStream(sentence); String[] wordArr = wordStream.toArray(String[]::new); System.out.println(Arrays.toString(wordArr)); } }
相关文章推荐
- Java8 创建Stream的几种方法
- 在java的反射中有几种创建对象的方法呢?
- java中创建线程的几种方法及区别
- Java中创建数组的几种方法
- java创建进程的几种方法
- java中需要关注的3大方面内容/Java中创建对象的几种方法:
- Java创建对象的几种方法
- java中创建对象的几种方法的总结
- Java创建对象的几种方法
- Java中Executors类中几种创建各类型线程池的方法及实例
- java中创建对象的几种方法
- java中创建对象的几种方法
- Java创建多线程的几种方法
- Java创建类的实例的几种方法
- java中创建对象的几种方法和clone
- java创建对象的几种常用方法
- java 并发包里Eexcutors创建线程池的几种方法
- java 多线程总结(一) 创建线程的几种方法及对终止线程运行的讨论
- java中创建对象的几种方法
- Java8创建 stream的几种方式