创建一个值为列表类型的映射

时间:2015-06-12 16:56:12

标签: java dictionary collections

请告知我想在java中创建一个地图,如下所示,因为你可以看到密钥在那里但是map的值是列表类型的更多,payername key可以有pn,pnb,gft的值列表,您这样请告知我们如何在java中创建这样的Map

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

请告知如何在java中实现此目的

2 个答案:

答案 0 :(得分:4)

一个选项是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"));

答案 1 :(得分:1)

来自Google的

ListMultimap也很不错。它的作用类似于Map<K, List<V>>,但没有每次添加密钥时必须初始化空列表的开销。也就是说,而不是写作:

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

map.put(key, value);