我正在尝试根据另一个列表中存在的元素来过滤现有对象列表。现在,如果两个元素都匹配,则需要修改列表之一中的对象属性。在Java 8中如何实现?
public class Slot {
@DateTimeFormat(iso = ISO.DATE_TIME)
private Date startDate;
private Status status;
}
List<java.util.Date> dateList;
List<Slot> slotList;
因此,基本上,如果dateList
中包含slotList
的元素,我想修改status属性。可以使用传统循环来完成,但是我正在寻找一种有效的Java 8方式。
答案 0 :(得分:2)
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"));