在不使用apache.commons函数的情况下更新hashMap中的条目

时间:2012-08-01 03:03:23

标签: java hashmap

我想维护一个状态表,其中状态已使用枚举

定义
private enum states {
    contension_initiated, contension_failure, contension_success, reservation_success, reservation_completed, reservation_failure
}

并使用

维护状态表
HashMap<Integer, states> stateTable = new HashMap<Integer, states>();

取决于条件,stateTable中的值会发生变化/变化 如何在不使用apache.commons库的情况下修改hashMap中的相同条目?

我一直这样做:

if(condition1)
      stateTable.put(1,state.contension_initiated)
if(condition2) 
      stateTable.remove(1)
      stateTable.put(1,contension_success) 

1 个答案:

答案 0 :(得分:3)

if(condition1)
      stateTable.put(1,state.contension_initiated)
if(condition2) 
      stateTable.put(1,contension_success) 

HashMap将只保留一个唯一键。因此,如果您尝试“放置”已存在的密钥,它将替换与密钥关联的值(而不是添加新密钥)