添加存储在TreeMap中的值

时间:2015-11-16 20:19:50

标签: java treemap

我目前正在开发一个库存系统,其中Key是Item,Value是Key中存储的Items的数量,我正在使用Java 7,我对它作为一种语言相当新。到目前为止,这就是我所拥有的:

    String itemName = item.trim().toLowerCase();  
    if(!add < 1)  
    {  
    if (!invMap.containsKey(itemName)  
    {  
    invMap.put(itemName, add);
    }  

当方法运行时,它会向用户询问一个项目(项目)以及我在Javadoc中查找的要添加(添加)项目的数量,以查看是否有方法来检索存储在密钥下的值但是我没有看到任何有用的东西。我认为,如果我只是朝着正确的方向努力,我应该能够完成其余的工作,而不是直接一步一步地提示。

1 个答案:

答案 0 :(得分:1)

您可以使用Map.get获取现有值,然后向其中添加add,然后put

String itemName = item.trim().toLowerCase();  
if( add >= 1)  
{  
    if ( ! invMap.containsKey( itemName ) )
        invMap.put( itemName, add );
    else
        invMap.put( itemName, add + invMap.get(itemName) );
    }  
}

你可以缩短这一点,因为如果密钥未知,Map.get和衍生工具会返回null

   Integer old = invMap.get( itemName );
   invMap.put( itemName, old == null ? add : add + old );