我正在尝试根据另一个列表中的元素过滤现有对象列表。现在,如果两个元素都匹配,我需要修改其中一个列表中的对象属性。如何在Java 8中实现这一点?
public class Slot {
@DateTimeFormat(iso = ISO.DATE_TIME)
private Date startDate;
private Status status;
}
List<java.util.Date> dateList;
List<Slot> slotList;
所以基本上如果slotList
中存在dateList
元素,我想修改状态属性。这可以使用传统的循环来完成,但我正在寻找一种高效的 java 8 方式。
slotList
// find slots with dates that are in the datelist
.filter(slot -> dateList.contains(slot.getDate()))
// update each slot that was found via the above predicate
.forEach(slot -> slot.setStatus("new status"));