【发布时间】:2016-07-27 18:07:05
【问题描述】:
class Student_Details{
String name;
int rollNumber;
String address;
// setter and getter of above data members
}
HashMap<String,Collection<Student_Details>> oldData;
HashMap<String,Collection<Student_Details>> newData;
假设 HashMAp oldData 中的值是:
abc:[{sam,12,newyork},{mike,15,gotham}]
xyz:[{riphunter,32,new york}]
Hashmap newData 包含:
abc:[{sam,12,newyork},{mike,17,London},{john,36,boston]
uvw:[{rip,39,boston}]
要做的事情: 1)如果旧数据中不存在新数据的键,则将键值添加到旧数据 2)如果旧数据中存在新数据的键,则更新名称不应更改的集合的内容。例如,上述示例的最终地图(旧数据)应具有以下内容
abc:[{sam,12,newyork},{mike,17,London},{john,36,boston}]
xyz:[{riphunter,32,new york}]
uvw:[{rip,39,boston}]
请帮我解决...谢谢
【问题讨论】:
-
@gonzo for(String key:newData.keySet()){ if oldData containsKey(Key)}
-
@gonzo for(String key:newData.keySet()){ if oldData containsKey(Key){ Collection
oldDetail=oldData.get(key) Collection newDetail=newData.get (key) // 使用这个新集合,我可以获取学生姓名 // 现在基于学生姓名,我必须更新集合 ollDeatils } } else{ oldData.put(key,newData.get(key) }
标签: java collections hashmap