StreamAPI是用来处理数据,处理集合等容器中的数据,处理操作有:查询、筛选、删除、过滤、统计、映射等。 Stream的特点: Stream的操作分为三步: (1)创建Stream流,创建共有四种方式: ①使用Connection集合创建,Connection集合的stream()方法。 ②使用Arrays工具类和数组进行创建,Arrays.stream(array). ③Stream的of方法创建一个有限流,Stream.of(T...values)。 ④Stream的generate、iterate方法方法创建无限流,Stream.generate(Supplier<T> s),Stream.iterate(T seed, UnaryOperator<T> f) (2)对流中的数据进行处理(加工),方法: ①filter(Predicate p):过滤 map(Function<? super T,? extends R> mapper) map操作流中的把T对象变成R对象,由R对象构成新的流 (3)对流的结果进行收集(终结),一旦进行终结,不能再对此流进行操作,方法: ①void forEach(Consumer ):遍历流中的数据 流创建示例: 1、List<Integer> list = Arrays.asList(1,2,3,4,5); =》Stream<Integer> stream = list.stream(); 2、int[] arr = {1,2,3,4,5};=》IntStream stream = Arrays.stream(arr); 3、Stream<Integer> stream = Stream.of(1,2,3,4,5); 4、Stream<Double> steream = Stream.generate(() -> Math.random());//0~1的小数无限流 Stream<Integer> stream = Stream.iterate(1, num -> num+=2);//奇数无限流 流的操作示例: stream = stream.filter(t -> t%2==0); //等等方法的操作 流结果收集: stream.forEach(System.out::println);//...等等 |
|