- public class StreamApi {
-     public static void main(String[] args) {
-         List<Integer> list = Arrays.asList(4, 5, 3, 3, 2, 1);
-         // forEach 遍历
-         list.stream().forEach(e-> {
-             System.out.println(e);
-         });
-         // 更简便的写法
-         list.stream().forEach(System.out::println);
-         // map:用于映射每个元素到对应的结果
-         List<Integer> mapCollect = list.stream().map(e -> {
-             return e * 2;
-         }).collect(Collectors.toList());
-         // filter:通过自定义过滤条件获取过滤元素
-         List<Integer> filterCollect = list.stream().filter(e -> {
-             return e % 2 == 0;
-         }).collect(Collectors.toList());
-         // sorted:通过定义排序规则对集合进行排序
-         List<Integer> sortCollect = list.stream().sorted((e1, e2) -> {
-             return e2 - e1;
-         }).collect(Collectors.toList());
-         // distinct:去重,使用 equals 方法判断是否相同
-         List<Integer> distinctCollect = list.stream().distinct().collect(Collectors.toList());
-         // limit:返回 n 个元素
-         List<Integer> limitCollect = list.stream().limit(2).collect(Collectors.toList());
-         // skip:跳过 n 个元素之后再输出
-         List<Integer> skipCollect = list.stream().skip(2).collect(Collectors.toList());
-         // allMatch:用于检测是否全部参数都满足条件
-         boolean allMatchRes = list.stream().allMatch(e -> {
-             return e > 0;
-         });
-         // anyMatch:用于检测是否存在一个或多个元素满足条件
-         boolean anyMatchRes = list.stream().allMatch(e -> {
-             return e % 2 == 0;
-         });
-         // noneMatch:用于检测是否不存在满足条件的元素
-         boolean noneMatchRes = list.stream().noneMatch(e -> {
-             return e > 100;
-         });
-         // 用于返回流中的第一个元素
-         Integer findFirstRes = list.stream().filter(e -> e % 2 == 0).findFirst().get();
-         // counting:计算元素总数
-         long count = list.stream().count();
-         Long countOfCollect = list.stream().collect(Collectors.counting());
-         // maxBy:获取最大值,minBy:获取最小值
-         Integer maxOfMaxBy = list.stream().collect(Collectors.maxBy((e1, e2) -> e1 - e2)).get();
-         // averagingInt:计算平均值
-         Double averagingIntRes = list.stream().collect(Collectors.averagingInt(Integer::intValue));
-         // 字符串拼接
-         String collectRes = list.stream().map(e -> e + "").collect(Collectors.joining(", "));
-     }
- }