最近在用谷歌的guava-18.0.jar,确实挺好用,
大大简化了一对多的hashmap的结构,正常的hashmap表达一对多关系,一般用:private HashMap<String, Set<String>> map.
而在HashMultimap中,结构就简单很多:
public static void main(String[] args) {
HashMultimap<String, Integer mulmap = HashMultimap.create();
mulmap.put("a", 1);
mulmap.put("b", 1);
mulmap.put("a", 2);
mulmap.put("b", 3);
mulmap.put("a", 1);
System.out.println(mulmap.keys().size());
System.out.println(mulmap.keySet().size());
}
上例输出结果是 [4,2].
keys()方法返回的是HashMultimap中key-value的个数,但是同样的key-value会被覆盖;
keySet()方法返回的是key的个数,可以认为是key-valueSet中的key的个数,同样的key,value会被合并成Set,