1. 程式人生 > >Java 8 Streams常用API簡介

Java 8 Streams常用API簡介

常用的幾個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));