003 stream的创建
Posted trekxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了003 stream的创建相关的知识,希望对你有一定的参考价值。
一 概述
在我们使用Stream之前,我们首先就需要获得一个Stream.
在标准的Stream之中,我们可以通过下面的Stream获取Stream.
//创建stream的方式 //1.Collection接口 /** * default Stream<E> stream() { return StreamSupport.stream(spliterator(), false); } */ // 在jdk1.8之后,我们的Collection之中提供了Stream的创建方法 @Test public void test1() { List<String> list = Arrays.asList("string","trek"); list.stream().forEach(System.out :: println); } //2 //Stream接口之中拥有了of方法,可以创建一个含有指定数量元素的stream @Test public void test2() { Stream<String> stream = Stream.of(new String[]{"string","trek"}); stream.forEach(System.out :: println); } /** * 3 .我们使用的数组其实也是一种Stream * ,因此在我们的数组工具类之中也提供了相应的方法创建Stream */ @Test public void test3() { String[] arr = new String[] {"aaaa","bbbb"}; Stream<String> stream = Arrays.stream(arr); stream.forEach(System.out::println); } /** * 从文件之中获取Stream * 这个其实我们可能会使用的比较多 * @throws IOException */ @Test public void test4() throws IOException { Path path = Paths.get("E:\trek\trek.js"); try(Stream<String> stream = Files.lines(path)){ stream.forEach(System.out::println); } } /** * 通过无限流获取Stream * 现在展示的就是iterate()方法获取无限流 */ @Test public void test5() { Stream<Integer> stream = Stream.iterate(1, n -> n+1).limit(20); stream.forEach(System.out::println); } /** * 通过generate()方法获取无限流 */ @Test public void test6() { Stream<Double> stream = Stream.generate(Math::random).limit(20); stream.forEach(System.out::println); }
以上是关于003 stream的创建的主要内容,如果未能解决你的问题,请参考以下文章
[新增EA003考勤系统演示片段]全程字幕-22套UML+Enterprise Architect建模示范视频
read ECONNRESET at TLSWrap.onStreamRead (internal/stream_base_commons.js:209:20) { errno: -4077(代码片段