日期:2014-05-17 浏览次数:20971 次
List<Map> list = new ArrayList<Map>();
Map map1 = new HashMap();
map1.put("submitDate", "2011-12-10");
map1.put("scoreValue", 20);
Map map2 = new HashMap();
map2.put("submitDate", "2011-12-10");
map2.put("scoreValue", 10);
Map map3 = new HashMap();
map3.put("submitDate", "2011-12-11");
map3.put("scoreValue", 11);
Map map4 = new HashMap();
map4.put("submitDate", "2011-12-11");
map4.put("scoreValue", 11);
Map map5 = new HashMap();
map5.put("submitDate", "2011-12-12");
map5.put("scoreValue", 5);
list.add(map1);
list.add(map2);
list.add(map3);
list.add(map4);
list.add(map5);
Map<String,List> map = new HashMap<String,List>();
if(map.get(key) == null)
{
map.put(key , new ArrayList());
}
map.get(key).add(value);
------解决方案--------------------
试试看是不是你想要的结果:
List<Map> list = new ArrayList<Map>();
Map map1 = new HashMap();
map1.put("submitDate", "2011-12-10");
map1.put("scoreValue", 20);
Map map2 = new HashMap();
map2.put("submitDate", "2011-12-10");
map2.put("scoreValue", 10);
Map map3 = new HashMap();
map3.put("submitDate", "2011-12-11");
map3.put("scoreValue", 11);
Map map4 = new HashMap();
map4.put("submitDate", "2011-12-11");
map4.put("scoreValue", 11);
Map map5 = new HashMap();
map5.put("submitDate", "2011-12-12");
map5.put("scoreValue", 5);
list.add(map1);
list.add(map2);
list.add(map3);
list.add(map4);
list.add(map5);
List<Map> mapList = new ArrayList<Map>();
for (int i = 0; i < list.size(); i++) {
Map m1 = list.get(i);
mapList.add(list.get(i));
for (int j = 0; j < mapList.size(); j++) {
if(i<list.size()-1){
Map m2 = list.get(i+1);
Map m3 = mapList.get(j);
if(m2.get("submitDate").equals(m3.get("submitDate"))){
m2.put("scoreValue", (Integer)m3.get("scoreValue")+(Integer)m2.get("scoreValue"));
mapList.remove(m1);
}
}
}
}
System.out.println(mapList);
------解决方案--------------------
Map map = new HashMap();
for(int i = 0; i < list.size(); i++){
if(map.get(list.get(i).get("submitDate")) == null){
map.put(list.get(i).get("submitDate"), list.get(i).get("scoreValue"));
}else{
map.put(list.get(i).get("submitDate"),
map.get(list.get(i).get("submitDate")) + list.get(i).get("scoreValue"));
}
}
------解决方案--------------