map一键对多值的存与取

1,map的一个值对应多个value,根据map的性质,是要覆盖的,只有用它的泛型放,
Map<String,List> map0 = new HashMap()
if(map0.containsKey(data.getPrpName())){
map0.get(data.getPrpName()).add(map3);
   }else{
List lis = new ArrayList();
lis.add(map3);
map0.put(data.getPrpName(),lis) ;
   }
2,上面那样放进去后,取的时候只有用list了
List l  = map0.get(oe.getName());//由上所知map0的value值装进的是个map3
HashMap map40 = new HashMap();
HashMap map4 = new HashMap();
if(l!=null){
for(int i=0;i<l.size();i++){
map40 = (HashMap) l.get(i);
Set entries = map40.entrySet();
if (entries != null) {
Iterator iterator = entries.iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Entry) iterator.next();
Object key = entry.getKey();
Object value = entry.getValue();
map4.put(key, value);
}
}
    }
}

你可能感兴趣的:(是直接取值的,还有一种,借网友的贴图一用)