在Java8中,通过流从1个列表中的1个列表中获取所有对象?
我有两个班,这是:在Java8中,通过流从1个列表中的1个列表中获取所有对象?,java,spring,Java,Spring,我有两个班,这是: public class TimeCardResponse { private String login; List<TimeCardDetail> timeCardDetails; } 公共类TimeCardResponse{ 私有字符串登录; 列出时间表详情; } 这是: public TimeCardDetail(String workingDay, Float workingTime) { this.workingDay = wor
public class TimeCardResponse {
private String login;
List<TimeCardDetail> timeCardDetails;
}
公共类TimeCardResponse{
私有字符串登录;
列出时间表详情;
}
这是:
public TimeCardDetail(String workingDay, Float workingTime) {
this.workingDay = workingDay;
this.workingTime = workingTime;
}
input : a List<TimeCardResponse>
公共时间卡详细信息(字符串工作日、浮动工作时间){
this.workingDay=工作日;
this.workingTime=工作时间;
}
输入:列表
我想在Java 8中使用Stream
获取类TimeCardDetail
的所有workingDay
,并使用Stream
。List workingDays=a.Stream().map(TimeCardResponse::getTimeCardDetails)
List<String> workingDays = a.stream().map(TimeCardResponse::getTimeCardDetails)
.filter(x-> Objects::nonNull)
.flatMap(List::stream)
.map(TimeCardDetail::getWorkingDay).collect(toList());
.filter(x->Objects::非空)
.flatMap(列表::流)
.map(TimeCardDetail::getWorkingDay).collect(toList());
假设您有一些getWorkingDay
方法:
List<String> workDays = timeCardDetails.stream()
.map(TimeCardDetail::getWorkingDay)
.filter(Objects::nonNull) //filter out null values
.collect(Collectors.toList());
List workDays=timeCardDetails.stream()
.map(TimeCardDetail::getWorkingDay)
.filter(Objects::nonNull)//筛选出空值
.collect(Collectors.toList());
它将返回时间卡工作日的列表