Java8之构建流

  • 由值构建流:使用静态方法Stream.of,通过显式值创建一个流。它可以接受任意数量的参数
Stream<String> stringStream = Stream.of("我", "是", "字", "符", "串");
  • 由数组构建流:使用静态方法Arrays.stream从数组创建一个流。它接受一个数组作为参数
Stream<String> stringStream = Arrays.stream(new String[]{"我", "是", "字", "符", "串"});
  • 由文件生成流:Files.lines得到一个由文件每行成为一个元素的流
try (Stream<String> lines = Files.lines(Paths.get("data.tx"), Charset.defaultCharset())) {
	//此处可以对lines流进行操作
} catch (IOException e) {//Files.lines抛出的异常在此处理
    e.printStackTrace();
}
  • 由函数生成无限流:Stream API提供了两个静态方法来从函数生成流:Stream.iterate和Stream.generate。 这两个操作可以创建所谓的无限流:不像从固定集合创建的流那样有固定大小的流。由iterate 和generate产生的流会用给定的函数按需创建值,因此可以无穷无尽地计算下去!一般来说, 应该使用limit(n)来对这种流加以限制,以避免打印无穷多个值
    • iterate:迭代
Stream.iterate(new int[]{0,1}, array->new int[]{array[1],array[0]+array[1]}).limit(10).map(array->array[0]).forEach(System.out::println);
- generate:生成器
Stream.generate(() -> 2).limit(5).forEach(System.out::println);

更多文章:
CSDN博客
简书博客
公众号:代码小搬运
代码小搬运.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值