【问题标题】:creating a map in which values will be of list type创建一个地图,其中的值将是列表类型
【发布时间】:2015-06-12 16:56:12
【问题描述】:

请告知我想在 java 中创建一个映射,如下所示,因为您可以看到键存在,但映射的值是进一步的列表类型,即 payername 键可以具有值列表,即 pn 、 pnb 、 gft ,所以请告诉我们如何在java中创建这样的地图

   key                        values 
   payerName                  pn , pnb , gft , thy
   fixedRate                  re , et, try ,htre

请告知如何在java中实现这一点

【问题讨论】:

  • 你能告诉我们你到目前为止做了什么吗?
  • 在 Java 中 - 键和值可以是 Map 的任何类型,因此非常简单。

标签: java dictionary collections


【解决方案1】:

一个选项是Map<String, List<String>>:

Map<String, List<String>> map = new HashMap<>();
map.put ("payerName", Arrays.asList("pn", "pnb", "gft", "thy"));
map.put ("fixedRate", Arrays.asList("re", "et", "try", "htre"));

【讨论】:

    【解决方案2】:

    来自 Google 的ListMultimap 也不错。它的功能类似于Map&lt;K, List&lt;V&gt;&gt;,但没有每次添加键时都必须初始化空列表的开销。也就是说,而不是写:

    if (!map.hasKey(key)) {
        map.put(new ArrayList<V>());
    }
    map.get(key).add(value);
    

    你写

    map.put(key, value);
    

    【讨论】:

      猜你喜欢
      • 2018-11-08
      • 2017-12-02
      • 2021-05-27
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      相关资源
      最近更新 更多