【问题标题】:get all object from 1 list of 1 list by stream in java 8?在java 8中通过流从1个列表的1个列表中获取所有对象?
【发布时间】:2019-06-25 14:22:26
【问题描述】:

我有 2 节课,这个:

public class TimeCardResponse {
   private String login;
   List<TimeCardDetail> timeCardDetails;
}

还有这个:

public TimeCardDetail(String workingDay, Float workingTime) {
    this.workingDay = workingDay;
    this.workingTime = workingTime;
}
    input : a List<TimeCardResponse>

我想在List&lt;String&gt; 中获取TimeCardDetail 类的所有workingDay,并在Java 8 中使用Stream

【问题讨论】:

    标签: java spring


    【解决方案1】:
    List<String> workingDays  = a.stream().map(TimeCardResponse::getTimeCardDetails)
                    .filter(x-> Objects::nonNull)
                    .flatMap(List::stream)
                    .map(TimeCardDetail::getWorkingDay).collect(toList());
    
    

    【讨论】:

      【解决方案2】:

      假设你有一些getWorkingDay 方法:

      List<String> workDays = timeCardDetails.stream()
                                             .map(TimeCardDetail::getWorkingDay)
                                             .filter(Objects::nonNull)    //filter out null values
                                             .collect(Collectors.toList());
      

      这将返回一个List&lt;String&gt;的工作日卡

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-18
        • 2021-12-20
        • 1970-01-01
        • 1970-01-01
        • 2018-09-03
        • 1970-01-01
        相关资源
        最近更新 更多