为什么我的HashMap没有递增值

时间:2016-03-05 18:07:04

标签: java dictionary foreach

我不明白为什么我的地图值没有增加!!!

<% Collection<Product> items = basket.getItems();
HashMap<Product,Integer> itemMap = new HashMap<Product,Integer>();

for(Product p : items){
    if(!itemMap.containsKey(p)){
        itemMap.put(p,1);}
    else{itemMap.put(p, itemMap.get(p) + 1);}
    out.println("<p>"+itemMap+"</p>");
}%>

每次值为1!

1 个答案:

答案 0 :(得分:-1)

好的我修好了! 不要问我为什么但它有效?!

<% Collection<Product> items = basket.getItems();
HashMap<String,Integer> itemMap = new HashMap<String,Integer>();
ArrayList<String> dumbArray = new ArrayList<String>();

for(Product p : items){
    dumbArray.add(p.toString());
}

for(String p : dumbArray){
    if(!itemMap.containsKey(p)){
        itemMap.put(p,1);}
    else{itemMap.put(p, itemMap.get(p) + 1);}
    out.println("<p>"+itemMap+"</p>");
}%>

数组ftw?