Lista cómo volver con corrientes en este caso?

user974802:

Tengo este método

private List<StudentVO> getStudentVOList() {
    List<HouseDTO> hDtoList = new ArrayList<HouseDTO>();
    for (HouseDTO hdn : hDtoList) {
        if (hdn.getHouseName().equals("ZSRT")) {
            return hdn.getStudents();
        }
    }

lo que estoy tratando de convertir a Java 8, he tratado como se muestra a continuación

return  hDtoList.stream().filter(hdn->hdn.getHouseName().equals("ZSRT")).map(hdn->hdn.getStudents()).collect(Collectors.toList());

-

public class HouseDTO {

    public String getHouseName() {
        return houseName;
    }
    public void setHouseName(String houseName) {
        this.houseName = houseName;
    }
    public List<StudentVO> getStudents() {
        return students;
    }
    public void setStudents(List<StudentVO> students) {
        this.students = students;
    }
    private String houseName ;
    List<StudentVO> students;
}


public class StudentVO {

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getRollNo() {
        return rollNo;
    }
    public void setRollNo(int rollNo) {
        this.rollNo = rollNo;
    }
    private String name;
    private int rollNo;
}
YCF_L:

Se puede utilizar findAnyo findFirstdespués de la mapcontinuación orElse(someDefaulValues), en su caso, una colección vacía.

return  hDtoList.stream()
                .filter(hdn->hdn.getHouseName().equals("ZSRT"))
                .findFirst()
                .map(StudentVO::getStudents)
                .orElse(Collections.emptyList());

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=119441&siteId=1
Recomendado
Clasificación