【问题标题】:Array with Strings as index [closed]以字符串为索引的数组[关闭]
【发布时间】:2014-03-31 10:38:32
【问题描述】:

我应该存储和跟踪大量计数器(每个仪表有多个计数器,有多个仪表吐出读数)。

是否可以对每种类型的计数器使用一个 HashMap,这样 key 就变成了meter id,value 变成了 counter。在这种情况下,我将拥有与计数器类型一样多的 HashMap。

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

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

【问题讨论】:

    标签: java arrays hashmap


    【解决方案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".
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-09
      • 2014-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      相关资源
      最近更新 更多