【问题标题】:Static number of keys and values in Java hashmapJava hashmap中键和值的静态数量
【发布时间】:2016-03-15 22:48:51
【问题描述】:

我有一个以这种方式初始化的哈希图:

myMap = new HashMap<Integer, Integer>();
for (int i = 0; i < 4; i++) {
    myMap.put(i, 0);
}

我不想再向此地图添加键,但我确实希望能够更改值。如果我没记错的话,不可变的哈希图不允许我做后者。有没有办法做到这一点?

【问题讨论】:

  • 你不能只使用一个数组:new int[4]
  • this solution 适合你吗?
  • 你只是想节省内存吗?

标签: java


【解决方案1】:

假设您过度简化了示例,并且您不能只使用数组,您可以简单地将映射封装到您自己的类中,并确保更改值的方法执行类似的操作

public void changeValue(Integer key, Integer value) {
    if (!map.containsKey(key)) {
        throw new IllegalArgumentException("Invalid key: " + key);
    }
    map.put(key, value);
}

【讨论】:

    猜你喜欢
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多