把list<Map>根据日期重新生成一个list<Map>
2017-03-29 16:40
281 查看
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}]]
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}]]
相关文章推荐
- List<Map>集合根据Map里的两个key值对List集合重新排序
- List<Map>集合根据Map里某个key对List集合重新排序介绍
- 实体类集合(List<Object>)根据实体类的一个或者多个属性对集合进行排序-Collections.sort
- hibernate多生成一个外键以及映射文件中含有<list-index>标签
- Java List<Object>根据Object中某一个属性排序
- List<List<double>> lsls = null; 根据double值来重新排序lsls...
- List<Entity>排序:根据javabean中的一个字段对beanList进行排序
- List<Map<String,Object>>集合根据map里面的一个字段排序
- List<Map<String,Object>>集合根据map里面的一个字段排序
- List<Map<String,Object>>集合根据map里面的一个字段排序
- List<Map>集合根据Map里某个key对List集合重新排序介绍
- <转>根据泛型生成数组 与数组 List相互转换的方法
- 改变一个list<Map<String,Object>>,并给他重新赋值,不能使用新循环,要使用旧循环
- c:foreach 循环List<Map> map中是一个list<Object>
- List<Map>集合根据Map里某个key对List集合重新排序介绍
- C# 重新对字符数组 List<string>中进行冒泡排序,字符多的在前
- List<T>.Contains(T item)判断是否包含的根据是什么
- List<>根据指定属性排序(实现IComparer接口)
- 比较一个对象list中的id值和List<Integer>的值是否相等
- list list 怎么根据一个值对这个List重新排序