带有字符串作为索引的数组

时间:2014-03-31 10:38:32

标签: java arrays hashmap

我应该存储并跟踪很多计数器(每个计数器有多个计数器,有多个计量器吐出读数)。

对每种类型的计数器使用一个HashMap是否可以,因此密钥成为计量器ID,值成为计数器。在这种情况下,我将拥有与计数器类型一样多的HashMaps。

或者我应该使用HashMap的HashMap之类的东西。

有没有什么方法可以简单地将Arrays用于这样一个用例。为此,我需要将数组索引替换/映射到meterid。不确定这是否可行,但如果我没有错,那将会非常有效,因为HashMap使用Array本身,因此Array变得更快。

1 个答案:

答案 0 :(得分:1)

为什么不实施HashMap<String, ArrayList<String>>。这样,您就可以将String值计算到您的计数器值。

实施例

Map<String, ArrayList<String>> counterMap = new HashMap<String, ArrayList<String>>();

List<String> values = new ArrayList<String>();

values.add("Counter reading 1");
values.add("Counter reading 2");
values.add("Counter reading 3");

counterMap.put("Meter", values);

现在要获得所有这些读数,您只需写下:

List<String> meterCounters = counterMap.get("Meter");
// Contains "Counter reading 1", "Counter reading 2", "Counter reading 3".