这篇文章给大家介绍Java8中怎么利用Stream 创建流,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
Stream<Integer> stream = new HashSet<Integer>()
.stream();
Stream<String> stringStream = new ArrayList<String>()
.stream();
IntStream intStream = IntStream.rangeClosed(1, 100);
Stream<Integer> integerStream = Stream.of(1, 2, 3);
Stream<String> stringStream = Stream.of("喜欢", "天文", "的", "pony", "站长");
AppleStream apple = new AppleStream();
Stream<AppleStream> appleStream = Stream.of(apple, apple, apple);
//重载了支持特定的基本类型流
IntStream intStream = Arrays.stream(new int[]{1, 2, 3});
LongStream longStream = Arrays.stream(new long[]{1L, 2L, 3L});
DoubleStream doubleStream = Arrays.stream(new double[]{1D, 2D, 3D});
Stream<String> stringStream = Arrays.stream(new String[]{"喜欢", "天文", "的", "pony", "站长"});
AppleStream apple = new AppleStream();
Stream<AppleStream> appleStream = Arrays.stream(new AppleStream[]{apple, apple, apple});
Stream<String> linesStream = Files.lines(Paths.get("fileStream.txt"));
linesStream.forEach(System.out::println);
Stream.iterate()
和
Stream.generate()
来生成无限流,这两个方法会根据给定的表达式来生成包含无限个数据的流,所以一般结合
limit()
来使用。Stream.iterate(T seed,Function<T, R> apply)
Stream.generate(Supplier<T> s)
// 给定一个初始值seed,和一个`接收一个入参,并带有返回值的函数`
Stream.iterate(10, x -> x + 5)
.limit(10)
.forEach(System.out::println);
Random random = new Random();
// 接收一个 `无入参,有返回值` 的函数
Stream.generate(() -> random.nextInt(100))
.limit(10)
.forEach(System.out::println);
关于Java8中怎么利用Stream 创建流就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。