Mat*_*att 5 java matlab hashtable hashmap
我需要在Matlab中使用类似hashmap的功能,其中hashmap将向量映射到其他向量,并且事先不知道向量的数量(范围在数十万).
我尝试了Matlab的内置Containers.Map,但是它不接受向量作为键.然后我尝试了java.util.HashMap:
>> map = java.util.HashMap;
>> map.put(1:3,zeros(2,1));
>> map.get(1:3)
ans =
[]
Run Code Online (Sandbox Code Playgroud)
因此,由于某些原因似乎不起作用,即使Java的HashMap应该能够将数组映射到数组.
另一种选择是保留两个单独的矩阵,一个用于键,一个用于值,并逐步增长.但是我不想真的想这样做,因为Matlab中逐渐增长的东西是痛苦的(即使是块大小增量等,例如这里).
问题:1.为什么Java的HashMap不能在这里工作?2.还有其他方法吗?
谢谢.
这是一个可以做你想要的事情的拼凑。。。
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)
Run Code Online (Sandbox Code Playgroud)
..无论如何,这都是一个起点。