0.入门案例
List=[“aa”,”cc”,”bb”]
list.stream().distinct().limit(10).sorted().forEach(System.out::println);
System.out::print 为是方法引用
方法引用是当你想把一个方法当作一个“函数指针”传给别的方法使用
【核心思想】注重想怎么样(want)? 忽略怎么实现(how)
战略上藐视敌人,流式编程一点也不复杂。分三个部分:流的产生,流的中间处理,流的消费
1.创建Stream
分为:集合流、数组流、Stream类生成
// 1.通过Collection 系列集合提供的stream()或者parallelStream()
List<String> list = new ArrayList<>();
Stream<String> stream1 = list.stream();
Stream<String> stream11 = list.parallelStream();
// 2.通过Arrays中静态方法stream()获取数组流
String[] array = new String[10];
Stream<String> stream2 = Arrays.stream(array);
// 3.通过Stream类中的静态方法of()
Stream<String> stream3 = Stream.of("aa", "bb", "cc");
// 4.创建无限流
Stream<Integer> stream4 = Stream.iterate(0, x -> (x + 2));
stream4.limit(10).forEach(System.ou