我有状物体List taskDetails和TaskDetail DTO像public class TaskDetail {
private Task task ;
private int taskId;
private int taskDetailId;
private String status;
...
}
而Task DTO像public class Task{
private int taskId;
private int totalActive;
.....
}
所以我必须检查所有条目内taskDetails,并得到数的总量不反对taskId它们ACTIVE的状态和设置内部task's totalActive对象具有匹配的taskId内embedded task object内taskDetails。我能够使用java7这样做,但坚持使用java8。
我正在使用Map和存储taskId为关键Map myTaskMap = new HashMap();
taskDetails.forEach(taskEdt->{
int count =myTaskMap.get(taskEdt.getTask().getTaskId());
if(taskEdt.getStatus() == Status.ACTIVE) {
coun>0? myTaskMap.put(taskEdt.getTask().getTaskId(), count+1);:myTaskMap.put(taskEdt.getTask().getTaskId(), 1)
}
});taskDetails.forEach(taskEdt->{
if(null !=myTaskMap.get(taskEdt.getTask().getTaskId())) {
taskEdt.getTask().setTotalActive(myTaskMap.get(taskEdt.getTask().geTaskId()));
}
});
再次ForEach从里面的Task;s totalActive对象里面的地图设置值taskDetails。