我正在尝试比较和更新ArrayList<HashMap<String,String>>
名为购物车中的商品。
我正在做以下事情:
cart_list.put("quantity", "" +5); //cart_list is HashMap<String,String>
cart_list.put("item_id", "" + 1);
cart.add(cart_list);
cart_list.put("quantity", "" +6); //cart_list is HashMap<String,String>
cart_list.put("item_id", "" + 1);
cart_list.put("prefernces", "no salt");
cart.add(cart_list);
我想更新&#39;偏好from
无盐to
xtra salt`。谁能告诉我一步一步该怎么做?
答案 0 :(得分:1)
您需要从列表中获取适当的HashMap
Map<String,String> map = cart.get(n);
其中n
是列表中HashMap的索引(请记住第一个列表将是索引0),所以如果你想要列表中的第一个HashMap,那你就
Map<String,String> map = cart.get(0);
然后,您可以简单地覆盖之前的值,因为密钥(例如prefernces
)只能映射到一个值,这将覆盖以前的值。
map.put("prefernces", "xtra salt");
请注意,您的密钥必须完全匹配,并且在您的代码中,您已使用&#34; prefernces&#34;然后在你的评论中你使用&#34; preferences&#34;,这是不同的拼写。