Java中如何生成流呢?

戚薇 Java经验 发布时间:2023-07-06 09:23:28 阅读数:17947 1
下文笔者讲述java生成流的五种方法分享,如下所示
生成流的实现思路:
     方式1:
	    使用集合生成
	 方式2:
	    使用数组生成
	 方式3:
	    使用Stream.of
	 方式4:
	    使用文件生成
	 方式5:
	    使用iterate和generate两个静态方法
		  从函数中生成流
例:生成流的示例
//1.使用集合生成,应用中最常用的一种

list<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5);
Stream<Integer> stream = integerList.stream();
 
//2.使用数组生成
	int[] intArr = new int[]{1, 2, 3, 4, 5};
	IntStream stream = Arrays.stream(intArr);
 
   使用Arrays.stream方法生成流
    该方法生成的流是数值流(即IntStream)
	  而不是Stream
    Stream API提供
	     mapToInt、mapToDouble、mapToLong三种方式
		  将对象流转换成对应的数值流

//3.使用值生成
    Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5);
     使用Stream的of方法生成流
     使用Stream的empty方法可以生成一个空流

//4.使用文件生成
   Stream<String> lines = Files.lines(Paths.get("data.txt"), Charset.defaultCharset())
   使用Files.line方法得到一个流
   并得到的每个流是给定文件中的一行

//5.使用函数生成 
//提供iterate和generate两个静态方法从函数中生成流
iterator
   Stream<Integer> stream = Stream.iterate(0, n -> n + 2).limit(5);
    iterate方法接受两个参数
	   第一个为初始化值
	   第二个为进行的函数操作
	   因为iterator生成的流为无限流
	   使用limit方法对流进行了截断,只生成5个偶数

generator
   Stream<Double> stream = Stream.generate(Math::random).limit(5);
   generate方法接受一个参数
    方法参数类型为Supplier
     由它为流提供值
     generate生成的流也是无限流
     因此使用limit对流进行截断
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202307/16886066357005.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者