我们有一个如下的HashMap,
HashMap<String, ArrayList<Integer>> hm = new HashMap<String, ArrayList<Integer>>();
1)当密钥重复时,必须将值(整数)添加到arraylist中。 2)如果arrayList大小的大小超过阈值大小,比如500,则从hashMap中删除Kay:Value。
除了通常在每次放入地图之前检查arrayList大小的方法之外,还有更好的方法吗?请指教。
答案 0 :(得分:1)
考虑使用Guava&#39; ListMultimap
。
ListMultimap<String, Integer> map = ArrayListMultimap.create();
for(...) {
...
map.put(key, value);
if (map.get(key).size() > 500)
map.removeAll(key);
}