一.Sream
Sream流结合了Lambda表达式,简化集合、数字的操作。
二.使用
1.过滤(filter)
Stream<String> stream = list.stream();
stream.filter(str -> str.length() > 5);
2.去重(distinct)
Stream<String> stream = list.stream();
stream.distinct();
3.排序(sorted)
Stream<String> stream = list.stream();
stream.sorted(Comparator.comparing(String::length));
4.转换(map)
Stream<String> stream = list.stream();
stream.map(String::int);
5.获取前几个元素(limt)
int [] arrs = {3,5,4,1,9,7,8,4,2,1};
Arrays.stream(arrs).limit(5).forEach(a->{
System.out.println(a);
});
6.跳过前几个元素(skip )
int [] arrs = {3,5,4,1,9,7,8,4,2,1};
Arrays.stream(arrs).skip(5).forEach(a->{
System.out.println(a);
});
7.调试打印(peek)
Stream中的peek()方法可以在Stream流中的每个元素执行一个对应的操作,而不会修改Stream流中的元素。它的作用类似于forEach()方法,但它不是终止操作,可以被用于调试和日志输出。
8.计算(reduce)
int reduce = Arrays.stream(arr).reduce((x, y) -> x - y).getAsInt();