Java8中怎么利用Stream创建流

这篇文章给大家介绍Java8中怎么利用Stream 创建流,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

公司主营业务:做网站、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出宜黄免费做网站回馈大家。


一、 从Collection集合

Stream stream = new HashSet()
                .stream();
Stream stringStream = new ArrayList()
                .stream();
   

二、 根据数值范围创建数值流

IntStream intStream = IntStream.rangeClosed(1, 100);
   

三、 从一系列值

  • Stream提供了一个静态方法来根据一系列值生成一个流
Stream integerStream = Stream.of(1, 2, 3);
Stream stringStream = Stream.of("喜欢", "天文", "的", "pony", "站长");
AppleStream apple = new AppleStream();
Stream 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 stringStream = Arrays.stream(new String[]{"喜欢", "天文", "的", "pony", "站长"});
AppleStream apple = new AppleStream();
Stream appleStream = Arrays.stream(new AppleStream[]{apple, apple, apple});
   

五、 从文件

  • 准备文件     Java8中怎么利用Stream 创建流
Stream linesStream = Files.lines(Paths.get("fileStream.txt"));
linesStream.forEach(System.out::println);
 
  • 结果     Java8中怎么利用Stream 创建流
 

六、由函数来生成无限流

  • Java8提供了     Stream.iterate()和     Stream.generate()来生成无限流,这两个方法会根据给定的表达式来生成包含无限个数据的流,所以一般结合     limit()来使用。
    1. 迭代:       Stream.iterate(T seed,Function apply)
    2. 生成:       Stream.generate(Supplier 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 创建流就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


文章标题:Java8中怎么利用Stream创建流
文章起源:http://ybzwz.com/article/pigicd.html