简体   繁体   English

如何使用 Stream API 返回 Object 列表

[英]How to return List of Object using Stream API

My EmployeeDeatils Object has List of other object inside (employeeData).我的 EmployeeDetails Object 里面有其他 object 的列表(employeeData)。 I am trying to fetch that with some mapping with id我正在尝试通过一些带有 id 的映射来获取它

But not sure what I am doing wrong但不确定我做错了什么

     private List<EmployeeData> getEmployeeMessage(List<EmployeeDetails> employeeDetailList, Employee employee) {

    return employeeDetailList.stream()
        .filter(employeeDetail -> employeeDetail.getEmployeeId() == employee.getEmployeeId())
        .map(employeeDetail -> employeeDetail.getEmployeeData())
        .collect(Collectors.toList);

}

Assuming that your EmployeeDetails class has List<EmployeeData> getEmployeeData() field, you can fetch these using:假设您的EmployeeDetails class 具有List<EmployeeData> getEmployeeData()字段,您可以使用以下方法获取这些:

List<EmployeeData> getEmployeeMessage(List<EmployeeDetails> employeeDetailList, Employee employee) {

        return employeeDetailList.stream()
                .filter(employeeDetail -> employeeDetail.getEmployeeId() == employee.getEmployeeId())
                .flatMap(employeeDetail -> employeeDetail.getEmployeeData().stream())
                .collect(Collectors.toList());

    }

As @Naman correctly pointed out, you need to pay attention on flatMap vs map operations.正如@Naman 正确指出的那样,您需要注意flatMapmap操作。

In this case, a flatMap is used because you need a mapping operation for each element of your list (returned by getEmployeeData() ).在这种情况下,使用flatMap是因为您需要对列表的每个元素进行映射操作(由getEmployeeData()返回)。

如何转换列表<string[]>列出<object>使用 modelmapper 或 stream().map()?<div id="text_translate"><p> 我有以下数据作为 java 中的 String[] 列表,是否可以使用 stream().map() 进行转换? 这是列表的一个示例。</p><pre> Data's type is List&lt;String[]&gt; data which contains the following structure: ["a","b","c","d"], ["e","f","g","e"], ["e","f","g","e"]</pre><p> 我试图用modelMapper和没有modelMapper的map我的值并且数据是空的:</p><pre> List&lt;Custom&gt; mapInfo = new ArrayList&lt;CustomData&gt;(); mapInfo=data.stream().map(objectModel -&gt; modelMapper.map(objectModel, CustomData.class)).collector(Collectors.toList());</pre><p> 但是,当我尝试使用数据时,数组的每个 object 上的 object 结构都是空的:</p><pre> @Getter @Setter @Builder @NoArgsConstructor @AllArgsConstructor public class CustomData(){ @Builder.Default private String valueA=""; @Builder.Default private String valueB=""; @Builder.Default private String valueC=""; @Builder.Default private String valueD=""; }</pre></div></object></string[]> - How to convert List<String[]> to List<Object> using modelmapper or stream().map()?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 Stream API 从 object 检索嵌套列表? - How to retrieve nested list from object using Stream API? 如何使用 Stream API 从对象列表中获取 object 的值 - How to get Value of object from list of objects by Using Stream API 如何使用Stream API返回null? - How return null by using Stream API? 如何使用 Stream API 对列表进行排序? - How to sort a list of lists using the Stream API? Java 8流API,如何使用几个List字段将List收集到Object - Java 8 stream API, how to collect List to Object with several List fields 如何使用Java 8 Stream API减少组数量并返回排序列表 - How to reduce on groups and return a sorted list with the Java 8 Stream API 使用 Java 8 Stream API 从对象列表中收集列表 - Collecting lists from an object list using Java 8 Stream API 使用 java8 stream api 从列表中检索单个对象 - Retrieve single object from list using java8 stream api 如何使用Java 8 Stream API将嵌套List合并到一个简单的List中 - How to merge a nested List into a simple List using Java 8 Stream API 如何转换列表<string[]>列出<object>使用 modelmapper 或 stream().map()?<div id="text_translate"><p> 我有以下数据作为 java 中的 String[] 列表,是否可以使用 stream().map() 进行转换? 这是列表的一个示例。</p><pre> Data's type is List&lt;String[]&gt; data which contains the following structure: ["a","b","c","d"], ["e","f","g","e"], ["e","f","g","e"]</pre><p> 我试图用modelMapper和没有modelMapper的map我的值并且数据是空的:</p><pre> List&lt;Custom&gt; mapInfo = new ArrayList&lt;CustomData&gt;(); mapInfo=data.stream().map(objectModel -&gt; modelMapper.map(objectModel, CustomData.class)).collector(Collectors.toList());</pre><p> 但是,当我尝试使用数据时,数组的每个 object 上的 object 结构都是空的:</p><pre> @Getter @Setter @Builder @NoArgsConstructor @AllArgsConstructor public class CustomData(){ @Builder.Default private String valueA=""; @Builder.Default private String valueB=""; @Builder.Default private String valueC=""; @Builder.Default private String valueD=""; }</pre></div></object></string[]> - How to convert List<String[]> to List<Object> using modelmapper or stream().map()?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM