如果订单是多个的,则向hashmap添加数据(Java)
我试图在HashMap中添加键(餐厅id)和值(订单id)。对于餐馆的单次订单,我可以很容易地将餐馆id和订单id添加到HashMap中 当涉及到多家餐厅的订单时,我面临着一些困难 以下是提供餐厅ID的代码如果订单是多个的,则向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.
//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);
}