Java 向量的 HashMap

Java HashMap of Vectors

我处于这样一种情况,我想要一个散列映射,其中一个 Integer 值作为键,一个 Double 数组作为值(我知道它的长度)。 所以我想要

        HashMap<Integer, Double[]> hash = new HashMap<Integer, Double[]>();

接下来我扫描结果集,发现第一个属性的 key,value。 在第一阶段结束时,我将拥有一个包含一些键的哈希映射,对于每个键,我将拥有一个代表特定分数的 Double 值。

接下来我想用不同的 键、值 扫描另一个不同的结果集,我想用这些值填充我的散列。 问题是在这里我可以找到我没有条目的元素和我已经有条目的文档。

我想达到这样一种情况,在这种情况下,对于一个特定的键,我可以访问所有不同的乐谱。

如何向这些数组迭代添加值?因为如果我使用通常的 hash.put(key,value) 我必须使用 Double[] 作为值但我想迭代地向哈希映射添加不同的分数。

我认为使用 Vector 会给我带来一些问题,因为某些键可能有一些空值,而这些空值不会被填充。

我不确定我对您的要求的理解程度。我想你可以做一些事情:

    double[] arrayInMap = hash.get(key);
    if (arrayInMap == null) {
        hash.put(key, valuesToAdd);
    } else {
        if (arrayInMap.length != valuesToAdd.length) {
            throw new IllegalStateException("Key "+ key + ": cannot add " + valuesToAdd.length
                    + " values to array of length " + arrayInMap.length);
        }
        for (int ix = 0; ix < arrayInMap.length; ix++) {
            arrayInMap[ix] += valuesToAdd[ix];
        }
    }

我希望你至少能用它作为灵感。