How to update a list object where matching condition using java 8

Viewed 2088

How to update a list object where matching condition using java 8

list --> Obj to iterate

    list.stream().filter(d -> { 
        if(d.getAvailableTodayInPerson() == true && d.getDistance() > dis) {
            d.setAvailableTodayInPerson(false);
            d.setAvailableTodayOutPerson(true);
        }
    });
2 Answers

It's simple actually. You can do something like this:

list.stream()
                .filter(d-> d.getAvailableTodayInPerson() == true && d.getDistance() > dis)
                .foreach(d -> {
                    d.setAvailableTodayInPerson(false);
                    d.setAvailableTodayOutPerson(true);
                });

Do you mean?

list.stream().forEach(d -> {
     if(d.getAvailableTodayInPerson() == true && d.getDistance() > dis) {
            d.setAvailableTodayInPerson(false);
            d.setAvailableTodayOutPerson(true);
     }
 });
Related