一个泛型list集合 里面有很多数据其中数据的一个列是ID 我需要根据这个ID来分类 再把分好的类分别放到map对应的里面,或者是一个新的list里面也可以(这个list也需要是泛型的),id的类型有几个 map里面就有多少个key value里面是包含一个和这个key的类型一样的数据,这个ID不是固定的,是根据需求的不同而变化的!(一共有90多个类型),这么说吧!
String leixing="3,7,6,9,12";
List<TyLogTypeReport> list=new ArrayList<TyLogTypeReport>();
这个list是装有这5个类型的说有数据,而这个list的数据是这样的
com.log.model.TyZcsLogReport@1ed2bbd,
com.log.model.TyZcsLogReport@1d2bb9f,我需要对这5个类型分类 根据这5个类型生成5个装有对应的类型数据的listA,listB,listc,listd,liste。
小弟我没有做过这样的处理!纠结了好久 ,还是不成!所以不得已才在这里发帖!
真心麻烦各位大侠帮小弟我指点指点下!!!真心感谢了!
String leixing="3,7,6,9,12";
List<TyLogTypeReport> list=new ArrayList<TyLogTypeReport>();
这个list是装有这5个类型的说有数据,而这个list的数据是这样的
com.log.model.TyZcsLogReport@1ed2bbd,
com.log.model.TyZcsLogReport@1d2bb9f,我需要对这5个类型分类 根据这5个类型生成5个装有对应的类型数据的listA,listB,listc,listd,liste。
小弟我没有做过这样的处理!纠结了好久 ,还是不成!所以不得已才在这里发帖!
真心麻烦各位大侠帮小弟我指点指点下!!!真心感谢了!
Integer指的是id,
List<TyLogTypeReport>分类后的id所对应的list。对原先的List<TyLogTypeReport> list进行迭代,for (TyLogTypeReport report : List<TyLogTypeReport>) { if (!map.containsKey(report.getId())) {
// 往map里put该id以及TyLogTypeReport
} else {
// 把map里的该id对应的list再add
}
}
好像还要一个操作吧!小弟我不才!麻烦大侠帮我细化下Map<Integer,List<TyZcsLogReport>> maps=new HashMap<Integer, List<TyZcsLogReport>>();
String id=null;
// for (TyZcsLogReport re:list ) {
// if (list.size()>0 || null!=list) {
//
// re.getKindDesc();
// id=re.getKindId().toString();
// if (id.equals(re.getKindId())) {
// List<TyZcsLogReport> li=new ArrayList<TyZcsLogReport>();
// for (TyZcsLogReport obj:list) {
// TyZcsLogReport report=new TyZcsLogReport();
// report.setKindId(obj.getKindId());
// report.setKindDesc(obj.getKindDesc());
// report.setTotal(obj.getTotal());
// report.setLogDate(obj.getLogDate());
// li.add(report);
// li.toArray();
// System.out.println("提取测试数据li:"+maps.put(id, li));
// }
//
// }
//
// maps.put(id, list);
//// System.out.println("LIchangdu"+li);
//
// }else{
// System.out.println("报错了!");
// }
// }
List<TyZcsLogReport> li=new ArrayList<TyZcsLogReport>();
li.add(report);
maps.put(report.getKindId(), li); } else { // 把map里的该id对应的list再add
List<TyZcsLogReport> li = maps.get(report.getKindId());
li.add(report);
maps.put(report.getKindId(), li); }
}
return maps;逻辑大概就是这样
我改良了一下他for循环中的内容:for(TyLogTypeReport report : list){
map.put(report.getId(),
map.containsKey(report.getId()) ?
((List) map.get(report.getId())).add(report) :
new ArrayList<TyLogTypeReport>().add(report));
}哈哈。
这是没分类前的!
提取测试数据:2012-06-06 00:00:00.0
提取测试数据:2012-06-06 00:00:00.0
提取测试数据:2012-06-07 00:00:00.0
提取测试数据:2012-06-07 00:00:00.0
提取测试数据:2012-06-08 00:00:00.0
提取测试数据:2012-06-08 00:00:00.0
提取测试数据:2012-06-09 00:00:00.0
提取测试数据:2012-06-09 00:00:00.0
提取测试数据:2012-06-10 00:00:00.0
提取测试数据:2012-06-10 00:00:00.0
提取测试数据:2012-06-11 00:00:00.0
提取测试数据:2012-06-11 00:00:00.0
提取测试数据:2012-06-12 00:00:00.0
提取测试数据:2012-06-12 00:00:00.0
提取测试数据:2012-06-13 00:00:00.0
提取测试数据:2012-06-13 00:00:00.0
提取测试数据:2012-06-14 00:00:00.0
提取测试数据:2012-06-14 00:00:00.0
提取测试数据:2012-06-15 00:00:00.0
提取测试数据:2012-06-15 00:00:00.0
提取测试数据:2012-06-16 00:00:00.0
提取测试数据:2012-06-16 00:00:00.0
提取测试数据:2012-06-17 00:00:00.0
提取测试数据:2012-06-17 00:00:00.0
提取测试数据:2012-06-18 00:00:00.0
提取测试数据:2012-06-18 00:00:00.0
提取测试数据:2012-06-19 00:00:00.0
提取测试数据:2012-06-19 00:00:00.0
提取测试数据:2012-06-20 00:00:00.0
提取测试数据:2012-06-20 00:00:00.0
提取测试数据:2012-06-21 00:00:00.0
提取测试数据:2012-06-21 00:00:00.0
提取测试数据:2012-06-22 00:00:00.0
提取测试数据:2012-06-22 00:00:00.0
提取测试数据:2012-06-23 00:00:00.0
提取测试数据:2012-06-23 00:00:00.0
提取测试数据:2012-06-24 00:00:00.0
提取测试数据:2012-06-24 00:00:00.0
提取测试数据:2012-06-25 00:00:00.0
提取测试数据:2012-06-25 00:00:00.0
提取测试数据:2012-06-26 00:00:00.0
提取测试数据:2012-06-26 00:00:00.0
提取测试数据:2012-06-27 00:00:00.0
提取测试数据:2012-06-27 00:00:00.0
提取测试数据:2012-06-28 00:00:00.0
提取测试数据:2012-06-28 00:00:00.0
提取测试数据:2012-06-29 00:00:00.0
提取测试数据:2012-06-29 00:00:00.0
提取测试数据:2012-06-30 00:00:00.0
提取测试数据:2012-06-30 00:00:00.0
####这是分类后的时间顺序!{name:'Launcher下载成功',data:[{name:'2012-06-18',y:13124},{name:'2012-06-19',y:12728},{name:'2012-06-06',y:14},{name:'2012-06-24',y:15554},{name:'2012-06-23',y:19906},{name:'2012-06-22',y:25549},{name:'2012-06-21',y:67590},{name:'2012-06-28',y:10933},{name:'2012-06-27',y:11406},{name:'2012-06-26',y:12443},{name:'2012-06-25',y:13369},{name:'2012-06-20',y:11598},{name:'2012-06-30',y:19959},{name:'2012-06-07',y:26},{name:'2012-06-08',y:23},{name:'2012-06-09',y:52742},{name:'2012-06-11',y:9492},{name:'2012-06-10',y:13543},{name:'2012-06-13',y:5443},{name:'2012-06-12',y:7039},{name:'2012-06-15',y:8325},{name:'2012-06-14',y:4941},{name:'2012-06-17',y:15384},{name:'2012-06-16',y:14632},{name:'2012-06-29',y:14568}]},{name:'弹出选区服提醒',data:[{name:'2012-06-18',y:8218},{name:'2012-06-19',y:8455},{name:'2012-06-06',y:5574},{name:'2012-06-24',y:18360},{name:'2012-06-23',y:21444},{name:'2012-06-22',y:20047},{name:'2012-06-21',y:17911},{name:'2012-06-28',y:15688},{name:'2012-06-27',y:16255},{name:'2012-06-26',y:16095},{name:'2012-06-25',y:16060},{name:'2012-06-20',y:7940},{name:'2012-06-30',y:30233},{name:'2012-06-07',y:4934},{name:'2012-06-08',y:4631},{name:'2012-06-09',y:4226},{name:'2012-06-11',y:3108},{name:'2012-06-10',y:3655},{name:'2012-06-13',y:2744},{name:'2012-06-12',y:3264},{name:'2012-06-15',y:4530},{name:'2012-06-14',y:2612},{name:'2012-06-17',y:8835},{name:'2012-06-16',y:7468},{name:'2012-06-29',y:22425}]}
顺序完全被打乱了!!!麻烦4楼 5楼的大侠帮我看看是什么问题!