如何使用java.util.stream对对象进行非规范化

时间:2017-06-07 17:26:25

标签: java

我有以下对象:

<md-input-container>
  <input mdInput [mdDatepicker]="picker" placeholder="Choose a date">
  <button mdSuffix [mdDatepickerToggle]="picker"></button>
</md-input-container>
<md-datepicker #picker></md-datepicker>

因此,如果我的客户对象包含两个订单,则结果将是两个 CustomerOrderDto 对象的列表。

我显然可以使用for循环执行此操作,但我正在寻找使用Java流的更优雅的解决方案 我的背景是.NET,我可以用LINQ轻松完成这个,但这是我的第一个java项目,我想知道我是否可以在这里做类似的事情。

2 个答案:

答案 0 :(得分:1)

private List<Customer.CustomerOrderDto> customerOrderDtoList(Customer customer){
    Collection<Customer.Order> orders = customer.getOrders();
    return orders.stream()
                 .map(order -> createCustomerOrderDto(customer, order))
                 .collect(Collectors.toList());
}

private Customer.CustomerOrderDto createCustomerOrderDto(Customer customer, Customer.Order order){
    Customer.CustomerOrderDto dto = new Customer.CustomerOrderDto();

    return dto;
}

答案 1 :(得分:0)

如果您想使用foreach访问您的对象

orders.forEach((k)->System.out.println("Item : " + k));

更多示例here