工作生活Java

Java 8 之Stream 生成姿势

2018-07-25  本文已影响0人  Unyielding_L

Stream 的定义

生成流的"姿势"

Integer[] arr = {1, 2, 3, 4, 6};//这里可以开成int[] 试试看看结果。。。①
        Stream.of(arr)//生成流Stream<Integer>
                .forEach(System.out::println);//打印流中的每个元素
Arrays.asList(1, 2, 3, 4)//返回list集合
                .stream()//转换为Stream<Integer>
                .forEach(System.out::println);
Files.lines(Paths.get("E:\\temp\\test.txt"))
                .forEach(System.out::println);
Stream.generate(() -> 1)
                .limit(5)// 
                .forEach(System.out::println);
Stream.iterate(5, i -> i + 1)//生成无线流
                .limit(5)//使用limit 截断流 这里取前5个,类比sql 的limit
                .forEach(System.out::println);

上面两个方法都是生成无限流,下面来讲两个个生成有限流的

@Test
    public void streamRanged() {
        IntStream.range(1, 2)
                .forEach(System.out::println);
    }

结果:

 1
    @Test
    public void streamRangeClosed() {
        IntStream.rangeClosed(1, 2)
                .forEach(System.out::println);
    }

结果:

1
2

大家欢迎指正批评
代码地址

上一篇下一篇

猜你喜欢

热点阅读