1

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

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) 
4

1 回答 1

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

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

于 2012-08-01T03:21:44.460 回答