【发布时间】:2014-05-20 00:46:04
【问题描述】:
我想将浮点数组存储为 HashMap 的值。
HashMap<Integer, Float[]> vFeatureHm = new HashMap<Integer, Float[]>();
这里的浮点数组包含指定数量的值,例如 10。我如何以及在哪里提到它?我将动态地将值添加到该数组中。我可以使用 ArrayList,但我将它用于矩阵类型的结构,并且我很容易从索引中获取值,因为值是按该顺序存储的。在这种情况下,ArrayList 对我来说似乎是一种矫枉过正。你能建议如何解决这个问题。目前,我开始使用 ArrayList,但我想知道是否有我上面提到的使用方法。
更新:我意识到 ArrayList 不适用于我的情况,因为我需要放置在特定索引中。所以我必须使用上面提到的格式或使用 HashMap ,这又是一种过度杀戮。上面提到的使用 Float 有什么建议吗?
【问题讨论】:
-
你只有 1 个 10 个值的浮点数组,还是多个这样的数组?您用作 HashMap 键的 Integer 的作用是什么?
-
你应该考虑使用 Guava Table:code.google.com/p/guava-libraries/wiki/…
-
@PNS 我有一个电影 ID 列表,每部电影有 10 个功能。 movieID 不是按顺序排列的(假设有 1000 部电影,最高的电影 ID 可以是 9338)。但是所有的电影都将并且必须具有相同的 10 个功能。所以地图的键是一个movieID,值是10个值的浮点数组。我不能保留这个数组列表,因为索引很重要。
-
@OmarHrynkiewicz,感谢您的意见。它看起来像我想要的那样做,但正如我所提到的,我不想使用地图,因为它们似乎对我来说太过分了。我想知道我们是否可以用数组来做到这一点。
标签: java arrays arraylist hashmap