我怎样才能在java中进行这种迭代?

时间:2012-08-26 03:25:33

标签: java map iterator

我有一个bean说“orderHistory”它有一个列表“order”,订单有“orderitem”列表。在orderitem列表中我有2个道具“orederitemno”现在在我的迭代中我得到“orederitemno”并将其列入“orederitemnolist”列表

OrderHistory-> Order-> OrderItem->“orederitemno”然后将它们放在单独的列表中... PFB我正在使用的代码,

List<String> itemNos = new ArrayList<String>(); 
for (Order order : orderHistory.getOrders()) {  
    for (OrderItem item : order.getItems()) {
        itemNos.add(item.getItemNo());
    }
}

现在我将此列表传递给一个方法,该方法返回带有项目代码的地图

Map itemCodeMap = Myutil.getItemCodes(itemNos);

现在如何迭代这个map并将orderItem的itemcode放在OrderHistory bean中?我应该再次使用上述循环??任何建议如何做到这一点......

注意我已经在OrderItem类中为itemcode添加了一个getter setter ...如何针对迭代遍历地图的每个订单项设置代码..

1 个答案:

答案 0 :(得分:1)

  

现在如何迭代这个map并将orderItem的itemcode放在OrderHistory bean中?我应该再次使用上述循环??任何建议如何做到这一点......

是的,只需再次使用方法名称进行相同的循环:

List<String> itemNos = new ArrayList<String>(); 
for (Order order : orderHistory.getOrders()) {  
    for (OrderItem item : order.getItems()) {
        ItemCode code = (ItemCode)itemCodeMap.get(item.getItemNo());
        if(code!=null) {
            item.setItemCode(code);
        }
    }
}