【问题标题】:Convert java.util.HashMap keys to vector in Matlab在 Matlab 中将 java.util.HashMap 键转换为向量
【发布时间】:2012-11-17 14:05:32
【问题描述】:

我有一个 HashMap 对象,其中包含 key=>value 集合,它们都是整数。

F = java.util.HashMap;
F.put(1, 123);
F.put(3, 432);
F.put(7, 31);

我需要提取向量的键。我通过以下方式访问密钥:

F.keySet.toArray

它返回Object:

ans =

java.lang.Object[]:
    [1]
    [3]
    [7]

如何将其转换为矢量?

[1 3 7]

【问题讨论】:

  • 什么是正则向量?你能解释一下吗?
  • 我的意思是像[1 3 7]这样的标准向量

标签: java matlab hashmap


【解决方案1】:

你可以尝试如下:

>> F = java.util.HashMap;
F.put(1, 123);
F.put(3, 432);
F.put(7, 31);
>> vec = cell2mat(F.keySet.toArray.cell)
vec =
     3
     7
     1
>> whos
  Name      Size            Bytes  Class                 Attributes

  F         1x1                    java.util.HashMap               
  ans       0x0                 0  double                          
  vec       3x1                24  double                          
  z         3x1                    java.lang.Object[]   

【讨论】:

    【解决方案2】:

    这就是你要找的吗?

    Vector V=new Vector();
    for(int i=0;i<3;i++)
    V.add(ans[i]);
    

    ans 是您拥有的 Object[]?

    【讨论】:

      猜你喜欢
      • 2012-08-07
      • 1970-01-01
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2014-12-25
      • 2014-12-26
      相关资源
      最近更新 更多