1. ArrayListMultimap
ArrayListMultimap可以支持key相同的键值对,并自动将value转为list。
例如:
Multimap<String, Integer> multimap = ArrayListMultimap.create();
multimap.put("a",1);
multimap.put("b",2);
multimap.put("c",3);
multimap.put("a",4);
multimap.put("a",5);
multimap.put("a",5);
Collection<Integer> a = multimap.get("a");
System.out.println(a.toString());
结果:[1, 4, 5, 5]
//将ArrayListMultimap转为HashMap
Map<String, Collection<Integer>> scMap = multimap.asMap();
2. HashMultimap
HashMultimap<Object, Object> hashMultimap = HashMultimap.create();
hashMultimap.put("a",1);
hashMultimap.put("b",2);
hashMultimap.put("c",3);
hashMultimap.put("a",4);
hashMultimap.put("a",5);
hashMultimap.put("a",5);
System.out.println(hashMultimap.get("a").toString());
结果:[4, 1, 5]
总结:
ArrayListMultimap 把key值相同的value转为一个集合list(不去重)
HashMultimap 吧key值相同的value转为一个set集合(去重)