import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Demo2 {
public static void main(String[] args) {
List<Map<String, Object>> listTemp=data();
Map<String,List<Map<String, Object>>> datamap=new HashMap<String,List<Map<String, Object>>>();
List<List<Map<String, Object>>> rsult=new ArrayList<List<Map<String, Object>>>();
List<Map<String, Object>> listdate;
for (Map<String, Object> map : listTemp) {
String dates = (String)map.get("date");
boolean fvg = datamap.containsKey(dates);
if (!fvg) {//不包含
listdate=new ArrayList<Map<String, Object>>();
listdate.add(map);
datamap.put(dates, listdate);
rsult.add(listdate);
} else { //包含
listdate=datamap.get(dates);
listdate.add(map);
}
}
print(rsult);
}
public static void print(List<List<Map<String, Object>>> rsult) {
for (List<Map<String, Object>> list : rsult) {
for (Map<String, Object> map : list) {
System.out.println(map);
}
System.out.println("============");
}
System.out.println("------------"+rsult.toString());
}
public static List<Map<String, Object>> data() {
List<Map<String, Object>> listTemp = new ArrayList<Map<String, Object>>();
Map<String, Object> mapTemp = new HashMap<String, Object>();
mapTemp.put("sum", 8000);
mapTemp.put("date", "2017-3-26");
listTemp.add(mapTemp);
Map<String, Object> mapTemp2 = new HashMap<String, Object>();
mapTemp2.put("sum", 2000);
mapTemp2.put("date", "2017-3-26");
listTemp.add(mapTemp2);
Map<String, Object> mapTemp3 = new HashMap<String, Object>();
mapTemp3.put("sum", 3000);
mapTemp3.put("date", "2017-3-27");
listTemp.add(mapTemp3);
Map<String, Object> mapTemp5 = new HashMap<String, Object>();
mapTemp5.put("sum", 3001);
mapTemp5.put("date", "2017-3-26");
listTemp.add(mapTemp5);
Map<String, Object> mapTemp6 = new HashMap<String, Object>();
mapTemp6.put("sum", 5001);
mapTemp6.put("date", "2017-3-28");
listTemp.add(mapTemp6);
Map<String, Object> mapTemp7 = new HashMap<String, Object>();
mapTemp7.put("sum", 5002);
mapTemp7.put("date", "2017-3-27");
listTemp.add(mapTemp7);
Map<String, Object> mapTemp8 = new HashMap<String, Object>();
mapTemp8.put("sum", 5030);
mapTemp8.put("date", "2017-3-27");
listTemp.add(mapTemp8);
Map<String, Object> mapTemp9 = new HashMap<String, Object>();
mapTemp9.put("sum", 5050);
mapTemp9.put("date", "2017-3-28");
listTemp.add(mapTemp9);
System.out.println("--------listTemp:-------" + listTemp);
System.out.println();
return listTemp;
}
}
结果为:
--------listTemp:-------[{date=2017-3-26, sum=8000}, {date=2017-3-26, sum=2000}, {date=2017-3-27, sum=3000}, {date=2017-3-26, sum=3001}, {date=2017-3-28, sum=5001}, {date=2017-3-27, sum=5002}, {date=2017-3-27, sum=5030}, {date=2017-3-28, sum=5050}]
{date=2017-3-26, sum=8000}
{date=2017-3-26, sum=2000}
{date=2017-3-26, sum=3001}
============
{date=2017-3-27, sum=3000}
{date=2017-3-27, sum=5002}
{date=2017-3-27, sum=5030}
============
{date=2017-3-28, sum=5001}
{date=2017-3-28, sum=5050}
============
------------[[{date=2017-3-26, sum=8000}, {date=2017-3-26, sum=2000}, {date=2017-3-26, sum=3001}], [{date=2017-3-27, sum=3000}, {date=2017-3-27, sum=5002}, {date=2017-3-27, sum=5030}], [{date=2017-3-28, sum=5001}, {date=2017-3-28, sum=5050}]]