目录
Stream流是什么?
Stream
将要处理的元素集合看作一种流,在流的过程中,借助Stream API
对流中的元素进行操作,比如:筛选、排序、聚合等。
Stream流的特性?
1:Stream不存储数据,而是按照特定的规则对数据进行计算,一般会输出结果
2:Stream不会改变数据源,通常情况下会产生一个新集合或一个值
3:Stream具有延迟执行特性,只有调用终端操作时,中间操作才会执行
Stream流创建
1: 通过 java.util.Collection.stream() 方法用集合创建流
List<String> list=Arrays.asList("1","32");
// 创建顺序流
Stream<String> stream=list.stream();
// 创建一个并行流
Stream<String> parallelStream=list.parallelStream();
2: 使用java.util.Arrays.stream(T[] array)方法用数组创建流
int [] array={1,3,5,6,8};
IntStream stream=Arrays.stream(array);
3: 使用Stream的静态方法:of()、iterate()、generate()
Stream<Integer> stream=Stream.of(1,2,3,4,5);
Stream流使用
List<Integer> arrayList=new ArrayList();
arrayList.add(1);
arrayList.add(11);
arrayList.add(31);
arrayList.add(5);
arrayList.add(43);
arrayList.add(112);
arrayList.add(132);
创建流
Stream stream=arrayList.stream();
//过滤
stream.filter(x->x>6).collection(Collectors.tolist());
//匹配
stream.anyMatch();
//聚合
stream.max(Comparator.comparing(x));
//映射
stream.map(x->x+10).collection(Collectors.tolist());
//分组
stream.collection(Collectors.groupingBy(x->x>100));