Java 8 Streams常用API簡介
阿新 • • 發佈:2018-12-23
常用的幾個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));