我有一个订单实体,其中包含项目列表,从中我需要循环订单列表,每个订单包含项目列表,我需要从项目中提取项目我需要提取单个项目数量 这是我的代码
public class order{
private Integer orderId;
private String orderNo;
.
.
private List<item> items;
.
.
.
}
public class item{
private Integer itemId;
private String itemCode;
private String itemDescription;
private BigDecimal cost;
.
.
.
}
如何在java8中迭代这个?
答案 0 :(得分:2)
如果你有:
List<Order> list = ...
你可以.flatMap()
Item
个List<Item> allItems = list.stream()
.map(Order::getItems)
.flatMap(List::stream)
.distinct()
.collect(Collectors.toList());
个对象的嵌套列表:
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(getColor(R.color.colorVelocity))); **//<<Error NullPointerException**
答案 1 :(得分:1)
你的解释令人困惑。
如果你有一个单独的订单,你需要循环的项目,这很容易:
Order singleOrder;
singleOrder.getItems().stream()
.//whatever else you need;
如果你有一份订单清单,它仍然非常简单:
List<Order> multipleOrders;
multipleOrders.stream()
.map(Order::getItems)
.flatMap(List::stream)
.//whatever else you need