Java8 IntStream,LongStream,DoubleStream

IntStreamLongStream 和 DoubleStream 分别表示原始 int 流、 原始 long 流 和 原始 double 流。

这三个原始流类提供了大量的方法用于操作流中的数据,同时提供了相应的静态方法来初始化它们自己。

这三个原始流类都在 java.util.stream 命名空间下。

 

    public static void main(String[] args) throws InterruptedException {
        IntStream.range(1,10).forEach(s-> System.out.print(s+ " "));
        System.out.println();
        IntStream.rangeClosed(1,10).forEach(s-> System.out.print(s +" "));
        System.out.println();
        double average = IntStream.range(1, 10).average().orElse(0.0);
        System.out.println(average);

        long l = LongStream.rangeClosed(13, 15).max().orElse(16);
        System.out.println(l);


        System.out.println("--Using DoubleStream.of--");
        DoubleStream.of(5.33,2.34,5.32,2.31,3.51).map(d->d*1.5).forEach(s->System.out.print(s +" "));
        System.out.println("\n--Using DoubleStream.average--");
        double val = DoubleStream.of(12.1,11.2,13.3).average().getAsDouble();
        System.out.println(val);
        System.out.println("--Using DoubleStream.max--");
        val = DoubleStream.of(12.1,11.2,13.3).max().getAsDouble();
        System.out.println(val);
        System.out.println("--Using DoubleStream.filter--");
        DoublePredicate range = d -> d > 12.11 && d < 12.99;
        DoubleStream.of(12.1,11.2,12.3).filter(range).forEach(d->System.out.print(d));

    }
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8 9 10 
5.0
15
--Using DoubleStream.of--
7.995 3.51 7.98 3.465 5.265 
--Using DoubleStream.average--
12.200000000000001
--Using DoubleStream.max--
13.3
--Using DoubleStream.filter--
12.3

 

posted @ 2022-11-25 10:41  r1-12king  阅读(54)  评论(0编辑  收藏  举报