我应该存储并跟踪很多计数器(每个计数器有多个计数器,有多个计量器吐出读数)。
对每种类型的计数器使用一个HashMap是否可以,因此密钥成为计量器ID,值成为计数器。在这种情况下,我将拥有与计数器类型一样多的HashMaps。
或者我应该使用HashMap的HashMap之类的东西。
有没有什么方法可以简单地将Arrays用于这样一个用例。为此,我需要将数组索引替换/映射到meterid。不确定这是否可行,但如果我没有错,那将会非常有效,因为HashMap使用Array本身,因此Array变得更快。
答案 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".