正如标题所示,我目前正在实现下面的代码(以及将要实现的),它们是更好的方法 - 因为这看起来有点讨厌。将Map <Integer,Object>转换为Map <Integer,List <Object>>,不使用for循环(java)
Map<Integer, List<Objects>> allObjectsMap = newHashMap(); //guava
for(int i=1:i<myVar:i++){
Map<Integer, Objects> eachObjectMap = getMyObjectMap(i);
for(Map.Entry<Integer, Object> entry:eachObjectMap.entrySet()){
List objectList = allObjectsMap.get(entry.getKey())
if(objectList == null){//will be null the first time
objectList = newArrayList();//guava
objectList.add(entry.getValue());
allObjectsMap.put(entry.getKey(),objectList);
}
else{
objectList.add(entry.getValue());
}
}
}
谢谢!
我不认为你需要ArrayListMultimap的一般信息。 create(),更简单的解决方案是ArrayListMultimap.create() –
nanda
2010-10-21 10:07:44