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

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)

最佳答案

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


HashMap将仅维护一个唯一键。因此,如果尝试“放入”已存在的密钥,它将替换与该密钥关联的值(而不是添加新的密钥)

10-04 21:12