我想知道是否有一种更有效的方式将元素添加到哈希映射内的列表中,而不是制作列表的副本,将元素添加到共享列表中,然后使关联到列表中,以覆盖该地图部分位置的特定键地图里面一放......Java:将元素添加到HashMap中的列表
Map <Integer, List<Object>> myMap = new HashMap <Integer, List<Object>>();
....add function
List <Object> tmp = new LinkedList();
if (myMap.containsKey(myListKey.hashCode())) { //keycheck
tmp = myMap.get(myListKey.hashCode()); //copy
tmp.add(myObjectToAdd); //add
myMap.put(myListKey.hashCode(), tmp); //overwrite
}
我尝试了几种方式可以进入内部列表的直接访问,但编译器似乎对她/它今天...
你为什么使用'hashCode()'作为关键字?这只是*问*的麻烦。什么让你认为你目前的代码是*复制*一个清单?它只是提取参考。 (最后你不需要'put' ...)有时间学习更多关于散列码和引用的知识,IMO。 – 2014-11-04 16:03:19