如何更新ArrayList中的键值<hashmap <string,string>&gt;在Android?</hashmap <string,string>

时间:2014-08-14 09:07:36

标签: android arraylist hashmap

我正在尝试比较和更新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`。谁能告诉我一步一步该怎么做?

1 个答案:

答案 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;,这是不同的拼写。