我创建了一个HashMap事实,它包含键(className)和值(pojo)。
我希望在将hashMap发送到方法时从该hashMap中删除多个类对象,下面的代码只删除一个Class对象(响应),如果我想删除多个,则该怎么办,(说回应& HULC)。另外,我不想从 fact hashMap 中删除对象,因此创建了另一个副本。
我很感激您提前感谢:)
public class TempAvengersTest {
public static void main(String[] args) {
TempAvengersTest test = new TempAvengersTest();
//setting avengersVo
AvengersVo avengersVo = new AvengersVo();
avengersVo.setNumberOfSuperHeros("6");
avengersVo.setReleaseDate("May6,2016");
HulcVO hulcVo = new HulcVo();
hulcVo.setweight("2000");
hulcVo.setAggression("Max");
IronManVo imVo = new IronManVo();
imVo.setAttitude("Max");
imVo.setNewGear(true);
HashMap<String, Integer> positiveFeedback = new HashMap<String, Integer>();
positiveFeedback.put("IMDB", 8);
positiveFeedback.put("rottenTomatoes", 78);
AudienceResponseVo responseVo = new AudienceResponseVo();
responseVo.setNegativeFeedbackInd(true);
responseVo.setPositiveFeedback(positiveFeedback);
HashMap<String, Object> facts = new HashMap<String, Object>();
facts.put("Movie", avengersVo);
facts.put("HULC", hulcVo);
facts.put("IronMan", imVo);
facts.put("response", responseVo);
sendToPostScreeningHandler(test.sendToPreScreeningHandler(facts));
System.out.println("\n\n******************************************** END ********************************************");
}
private HashMap<String, Object> sendToPreScreeningHandler (HashMap<String, Object> facts){
//" facts needs to be unchanged, Hence creating tmpFacts " !!!
HashMap<String, Object> tmpFacts = new HashMap<String, Object>();
tmpFacts.putAll(facts);
//Deleting response object map from tmpFacts.
for (Object key : facts.keySet()) {
if("response".equals(key)){
tmpFacts.remove(key);
}
}
System.out.println("PreScreeningEngineVo: "+AvengersJSonConverter.convertToJSON(tmpFacts));
System.out.println("****************************************************************************************************");
System.out.println("PostScreeningEngineVo: "+AvengersJSonConverter.convertToJSON(facts));
return facts;
}
}
答案 0 :(得分:1)
您可以使用要删除的元素列表和contains方法。
所以这个:
if("response".equals(key))
会改为:
if(removables.contains(key))
但是,您必须在某处声明removables
,如下所示:
private List<String> removables = new ArrayList("response", "HULC");