正如標題所示,我目前正在實現下面的代碼(以及將要實現的),它們是更好的方法 - 因爲這看起來有點討厭。將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