如果订单是多个的,则向hashmap添加数据(Java)

如果订单是多个的,则向hashmap添加数据(Java),java,android,hashmap,Java,Android,Hashmap,我试图在HashMap中添加键(餐厅id)和值(订单id)。对于餐馆的单次订单,我可以很容易地将餐馆id和订单id添加到HashMap中 当涉及到多家餐厅的订单时,我面临着一些困难 以下是提供餐厅ID的代码 //Get multiple restaurant ids for(int i = 0; i < Utils.cart_map.size(); i++) { RestaurantModel restaurant = Utils.cart_restaurants.

我试图在HashMap中添加键(餐厅id)值(订单id)。对于餐馆的单次订单,我可以很容易地将餐馆id订单id添加到HashMap

当涉及到多家餐厅的订单时,我面临着一些困难

以下是提供餐厅ID的代码

//Get multiple restaurant ids
  for(int i = 0; i < Utils.cart_map.size(); i++)
  {
        RestaurantModel restaurant = Utils.cart_restaurants.get(i);        
        String restaurantId = String.valueOf(Integer.parseInt(restaurant.getId()));
  }
// get multiple order ids
for (int j = 0; j < orders.length(); j++)
{
    order_id = orders.getString(j);
    ordersHashMap.put(restaurantId, order_id);
}
输出应该是这样的

"42" -> "10001"
"41" -> "10002"
我无法找出我在这里遗漏了什么


非常感谢您的帮助

看起来您正在解析所有餐厅的相同订单,因此所有餐厅的所有订单都是相同的。不仅仅是特定餐厅的订单。顺便说一句,只有当一家餐厅只有一份订单时,你的代码才有效。因为在地图中,一个键只能指定一个值

看起来您正在解析所有餐厅的相同订单,因此所有餐厅的所有订单都是相同的。不仅仅是特定餐厅的订单。顺便说一句,只有当一家餐厅只有一份订单时,你的代码才有效。因为在地图中,一个键只能指定一个值

我使用了
ArrayList
并在其中添加了
restaurant\u id
。 这是完整的代码

ArrayList<String> restList = new ArrayList<String>();
String restaurantId = null;

//Get multiple restaurant ids
for(int i = 0; i < Utils.cart_map.size(); i++) {

    RestaurantModel restaurant = Utils.cart_restaurants.get(i); // Restaurants details which are presented in cart
    restaurantId = String.valueOf(Integer.parseInt(restaurant.getId()));

    restList.add(restaurantId);
}

// get multiple order ids
for (int j = 0; j < orders.length(); j++) {

    String rest_id = restList.get(j);
    order_id = orders.getString(j);

    ordersHashMap.put(rest_id, order_id);
}
ArrayList restList=new ArrayList();
字符串restaurantId=null;
//获取多个餐厅ID
对于(int i=0;i
我使用了
ArrayList
并在其中添加了
餐厅ID
。 这是完整的代码

ArrayList<String> restList = new ArrayList<String>();
String restaurantId = null;

//Get multiple restaurant ids
for(int i = 0; i < Utils.cart_map.size(); i++) {

    RestaurantModel restaurant = Utils.cart_restaurants.get(i); // Restaurants details which are presented in cart
    restaurantId = String.valueOf(Integer.parseInt(restaurant.getId()));

    restList.add(restaurantId);
}

// get multiple order ids
for (int j = 0; j < orders.length(); j++) {

    String rest_id = restList.get(j);
    order_id = orders.getString(j);

    ordersHashMap.put(rest_id, order_id);
}
ArrayList restList=new ArrayList();
字符串restaurantId=null;
//获取多个餐厅ID
对于(int i=0;i
看起来像是
订单
只是
字符串的集合
-如何定义任何
订单
属于某个餐厅?如果有这样的定义,那么您应该在循环中检查它,否则
ordersHashMap
中的所有元素都将被删除updated@ScaryWombat是的,这很有道理。实现这一目标的最佳方式是什么?我正在接受api的订单。有没有办法获得单个餐厅的订单?如果是这样的话,你会有一些控制权。或者返回的数据实际上是否包含
restaurantId
?我相信(int j=0;j订单只是一组
字符串
-如何定义任何
订单
属于某个餐厅?如果有这样的定义,那么您应该在循环中检查它,否则
ordersHashMap
中的所有元素都将被删除updated@ScaryWombat是的,这很有道理。实现这一目标的最佳方式是什么?我正在接受api的订单。有没有办法获得单个餐厅的订单?如果是这样的话,你会有一些控制权。或者返回的数据实际上是否包含
restaurantId
?我相信(int j=0;jArrayList<String> restList = new ArrayList<String>(); String restaurantId = null; //Get multiple restaurant ids for(int i = 0; i < Utils.cart_map.size(); i++) { RestaurantModel restaurant = Utils.cart_restaurants.get(i); // Restaurants details which are presented in cart restaurantId = String.valueOf(Integer.parseInt(restaurant.getId())); restList.add(restaurantId); } // get multiple order ids for (int j = 0; j < orders.length(); j++) { String rest_id = restList.get(j); order_id = orders.getString(j); ordersHashMap.put(rest_id, order_id); }