Java8 IntStream,LongStream,DoubleStream
IntStream、LongStream 和 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

浙公网安备 33010602011771号