Java 8 Streams常用API简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yanwenwennihao/article/details/84929827

常用的几个API:filter、map、forEach、sorted、findFirst、reduce、limit/skip、min/max/distinct、allMatch/anyMatch/noneMatch

map:把input Stream的每一个元素,映射成output Stream的另外一个元素。

将courseId属性改成List<String> 类型

List<String> allCourseIdList = trainingProgramsList.stream().map(TrainingProgramsModel::getCourseId).collect(Collectors.toList()

List<Restriction>数组,将value属性逗号拼接

String str = List.stream().map(Restriction::getValue).collect(Collectors.joining(","));

filter:筛选出符合某个条件的元素

chooseCourseModel1 = chooseCourseModelList.stream().filter(courseModel ->
                        courseModel.getCourseId().equals(chooseCourseModel.getCourseId())).findAny();

forEach:遍历每一个元素,对这个元素执行某项操作

 classIdList.forEach(e -> {
            AdmTeachClassEntity admTeachClassEntity = new AdmTeachClassEntity();
            admTeachClassEntity.setId(IdWorker.getIdStr());
            admTeachClassEntity.setOperator("大米时代");
            admTeachClassEntity.setTeachClassId(teachClassId);
            admTeachClassEntity.setClassId(e);
            admTeachClassEntity.setIsDelete(0);
            admTeachClassEntityList.add(admTeachClassEntity);
        });

sorted:如其名一般,用以实现排序,比如下面的倒序实现。(实质是实现两个元素的可比)

list.stream().sorted((p1,p2)-> {
           return p2 - p1;
        }).forEach(temp->System.out.println(temp));

猜你喜欢

转载自blog.csdn.net/yanwenwennihao/article/details/84929827