java - 在 Matlab 中生成 vector 的 Hashmap

标签 java matlab hashmap hashtable

我需要在 Matlab 中使用类似 hashmap 的功能,其中 hashmap 将 vector 映射到其他 vector ,并且事先不知道 vector 的数量(数十万)。

我尝试了 Matlab 的内置 Containers.Map ,但这不接受 vector 作为键。然后我尝试了 java.util.HashMap:

>> map = java.util.HashMap;
>> map.put(1:3,zeros(2,1));
>> map.get(1:3)

 ans =

 []

因此出于某种原因,这似乎不起作用,即使 Java 的 HashMap 应该能够将数组映射到数组。

另一种选择是保留两个单独的矩阵,一个用于键,一个用于值,并逐步增长它们。但我真的不想这样做,因为在 Matlab 中增量增长的痛苦(即使是 block 大小增量等,例如 here)。

问题: 1、为什么Java的HashMap在这里不行? 2. 还有其他方法吗?

谢谢。

最佳答案

这是一个可以做你想做的事情的kludge。 . .

map = java.util.HashMap;    
key = java.util.Vector;

matKey = 1:3;
for nn=1:numel(matKey)  
    key.add(matKey(nn));
end

map.put(key,zeros(2,1));
map.get(key)

..无论如何这是一个起点。

关于java - 在 Matlab 中生成 vector 的 Hashmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12805476/

相关文章:

matlab - matlab中两个向量的协方差

java - 使用我自己的 hashcode 作为 hashmap java

java - 检查二维数组中的相邻元素并替换它们

java - 使用 Gradle 5.4.1 签署 Maven jar 会导致 Could not setknown property 'keyId'

java - 过渡到黑屏

MATLAB:在具有混合数据类型的多维元胞数组中查找元素的索引

matlab - Matlab 的秩函数在小的整数值矩阵上的 "inconsistent"行为感到惊讶

java - 词频 - HashMap 或 TreeMap

hashmap - 为什么我需要取消引用 HashMap 的键两次?

java - 在线程 "AWT-EventQueue-0"java.lang.ArrayStoreException 中收到异常